//#####################################################################################
//from functions.js
//#####################################################################################


/*  global vars */
var glob = new Array;
glob["auth_top"];
glob["eshe_inited"];
glob["eshe_over"];
glob["eshe_timer"];
glob["inputs"];
glob["input_line"];
glob["_keyboardbool_"];
glob["table_over"];
glob["auth_inited"];
//var focustimer;
glob["_lang"];
glob["_case"];
glob["sel"];
glob["letters"];
glob["_buttons"];
glob["selst"];
glob["seled"];

/* /global vars */


function initSmallAuth()
{
	var obj=document.getElementById("auth_small");
	if(glob["auth_inited"]==0)
	{
		obj.style.display="block";
		obj.style.top="-160px";
		glob["auth_top"]=-160;
		glob["auth_inited"]=2;
		initSmallAuth();
	}
	else
	if(glob["auth_inited"]==1)
	{
		obj.style.display="none";
		glob["auth_inited"]=0;
	}
	else
	{
		glob["auth_top"]=glob["auth_top"]+10;
		obj.style.top=glob["auth_top"]+"px";
		if(glob["auth_top"]>=0)
		{
			glob["auth_inited"]=1;
			return false;
		}
		setTimeout("initSmallAuth()",10);
	}
	return false;
}	



function InitEshe() {
	var obj=document.getElementById('esheinited');
	if(glob["eshe_inited"]==0) {
		setTimeout("glob['eshe_inited']=1",10);
		obj.style.visibility="visible";
	} else {
		glob["eshe_inited"]=0;

		obj.style.visibility="hidden";
	}
}



function CloseEshe()
{
	if(glob["eshe_inited"]==1&&glob["eshe_over"]==0)
		InitEshe();
}

function esheOut()
{
	glob["eshe_over"]=0;
	glob["eshe_timer"]=setTimeout("CloseEshe();",500); 
} 

function esheOver()
{
	glob["eshe_over"]=1;
	if(typeof glob["eshe_timer"]!='undefined')
		clearTimeout(glob["eshe_timer"]);
}


function inputFocus(obj) 
{
	clearTimeout(obj.focustimer);
	if (obj.value==glob["inputs"][obj.id]) {
		if(obj.type == "text" && (obj.id=="pass_inp" || obj.id=="pass_inp2") )
		{
			var newO=document.createElement('input');
			newO.setAttribute('type','password');
			newO.setAttribute('name',obj.getAttribute('name'));
			newO.id=obj.id;
			newO.className=obj.className;
			newO.onfocus=obj.onfocus;
			newO.onblur=obj.onblur;
			obj.parentNode.replaceChild(newO,obj);
			obj=newO;
		}
		obj.value="";
		obj.style.color="";
		obj.style.fontSize="";
		obj.focus();
		obj.focus();
	}
	glob["input_line"]=obj;
}



function inputBlur(obj) 
{	        
	clearTimeout(obj.focustimer);
	if(obj.value=="") obj.focustimer=setTimeout(function () { 
		if(obj.id=="pass_inp" || obj.id=="pass_inp2")
		{
			var newO=document.createElement('input');
			newO.setAttribute('type','text');
			newO.setAttribute('name',obj.getAttribute('name'));
			newO.id=obj.id;
			newO.className=obj.className;
			newO.onfocus=obj.onfocus;
			newO.onblur=obj.onblur;
			obj.parentNode.replaceChild(newO,obj);
			obj=newO;

		}
		obj.style.color='#999';
		obj.style.fontSize='12px';
		obj.value=glob["inputs"][obj.id];
	},100);
}






function key_pressed(e) 
{
		var key;
		if(!e) e=window.event;
//		key = e.keyCode || e.which;
		if ((e.charCode) && (e.keyCode==0))
			key = e.charCode
		else
			key = e.keyCode;
/* change page on CTRL + Arrow */ 

		var _nextpg=document.getElementById("nextpage")
		var _prevpg=document.getElementById("prevpage");
		if(_nextpg || _prevpg)
			if(e.ctrlKey && (key == 37))//DOM_VK_LEFT
			{
				if(_prevpg && _prevpg.href)
				{	window.location.href=_prevpg.href;
					window.location.reload;
			   	}
			}
			if(e.ctrlKey && (key == 39))//DOM_VK_RIGHT
			{
				if(_prevpg && _nextpg.href)
				{
					window.location.href=_nextpg.href;
					window.location.reload;
				}
			}		
/*	<13> = ENTER ; <27> = ESCAPE */
		if( (key == 13 || key == 27) && glob["_keyboardbool_"] == 1 )
		{
			kbrd.createKeyboard();
		}

}






       
//#####################################################################################
// from after.js
//#####################################################################################

function validateForm(form){
//	if (form.r.value == glob["inputs"]["main_inp"]) {
	if (form.r.value == search_item || form.r.getAttribute("_isEmpty") == 'true') {
		form.r.value = "";
	}
	return true;
}

function validateInputs(form)
{
	_inputs=form.getElementsByTagName("INPUT");
	for(i=0;i<_inputs.length;i++)
		if( _inputs[i].getAttribute("_isEmpty") && _inputs[i].getAttribute("_isEmpty") == 'true')
			form[_inputs[i].name].value = "";		
}              



function _onload()
{
	if(typeof glob["input_line"] =='undefined')
		glob["input_line"]=document.getElementById("main_inp");
	
	if (window.captureEvents){
		window.captureEvents(Event.CLICK);
		window.onkeydown=key_pressed;
	}
	else
		document.onkeydown=key_pressed;


}


//#####################################################################################
//from before.js
//#####################################################################################

glob["eshe_inited"]=0;
glob["_keyboardbool_"]=0;
glob["table_over"]=1;
glob["auth_inited"]=0;
glob["auth_top"]=0;

document.onclick=function(){CloseEshe();kbrd.closeKeyboard();}

glob["inputs"] = new Array;
glob["inputs"]["main_inp"]=" что ищем";
glob["inputs"]["sub_inp"]=" где ищем? (метро, улица)";
glob["inputs"]["reg_inp1"]=" имя";
glob["inputs"]["pass_inp"]=" пароль";
glob["inputs"]["pass_inp2"]=" пароль еще раз";







//#####################################################################################
//from virtual_keyboard.js
//#####################################################################################







glob["_lang"]=0; //0-russian ; 1-english
glob["_case"]=0; //0-lower ; 1-upper
glob["letters"]=new Array();
//first [] - language; second [] - case
glob["letters"][0]=new Array();
glob["letters"][0][0]=new Array();
glob["letters"][0][1]=new Array();

glob["letters"][0][0][0]=new Array('1','2','3','4','5','6','7','8','9','0','-','=');
glob["letters"][0][0][1]=new Array('й','ц','у','к','е','н','г','ш','щ','з','х','ъ');
glob["letters"][0][0][2]=new Array('ф','ы','в','а','п','р','о','л','д','ж','э','ё');
glob["letters"][0][0][3]=new Array('я','ч','с','м','и','т','ь','б','ю',',','.','\\');
//glob["letters"][0][0][4]=new Array();

glob["letters"][0][1][0]=new Array('!','"','№',';','%',':','?','*','(',')','_','+');
glob["letters"][0][1][1]=new Array('Й','Ц','У','К','Е','Н','Г','Ш','Щ','З','Х','Ъ');
glob["letters"][0][1][2]=new Array('Ф','Ы','В','А','П','Р','О','Л','Д','Ж','Э','Ё');
glob["letters"][0][1][3]=new Array('Я','Ч','С','М','И','Т','Ь','Б','Ю',',','.','/');
                                                                 
glob["letters"][1]=new Array();                                          
glob["letters"][1][0]=new Array();                                      
glob["letters"][1][1]=new Array();

glob["letters"][1][0][0]=new Array('1','2','3','4','5','6','7','8','9','0','-','=');
glob["letters"][1][0][1]=new Array('q','w','e','r','t','y','u','i','o','p','[',']');
glob["letters"][1][0][2]=new Array('a','s','d','f','g','h','j','k','l',';','&#39;','`');
glob["letters"][1][0][3]=new Array('z','x','c','v','b','n','m',',','.','/','\\','<=');

glob["letters"][1][1][0]=new Array('!','@','#','$','%','^','&amp;','*','(',')','_','+');
glob["letters"][1][1][1]=new Array('Q','W','E','R','T','Y','U','I','O','P','{','}');
glob["letters"][1][1][2]=new Array('A','S','D','F','G','H','J','K','L',':','"','~');
glob["letters"][1][1][3]=new Array('Z','X','C','V','B','N','M','&lt;','&gt;','?','|','=&gt;');

//function inputAdd(symb) {
//range=glob["input_line"].createRange()
//}

var kbrd=
{

changeset : function()
{
	var i,j;
	for(i=0;i<glob["_buttons"].length;i++)
		for(j=0;j<glob["_buttons"][i].length;j++)
			glob["_buttons"][i][j].innerHTML=glob["letters"][glob["_lang"]][glob["_case"]][i][j];
},


shift : function(obj)
{
	glob["_case"]==1?glob["_case"]=0:glob["_case"]=1;
	kbrd.changeset();
},



lang : function(obj)
{

	glob["_lang"]==1?glob["_lang"]=0:glob["_lang"]=1;
	kbrd.changeset();
},

setfoc : function()
{
	var tt=glob["input_line"];
	tt.focus();

	if(tt.setSelectionRange)
	{
		if(tt.setSelectionRange && typeof glob["selst"] != 'undefined')
			tt.setSelectionRange(glob["selst"],glob["selst"]);
	}
	else
		if(document.selection && typeof glob["sel"] != 'undefined')
			glob["sel"].select();	
	return false;
},

putchar : function(c)
{
	var tt=glob["input_line"];
	tt.focus();

	if(tt.setSelectionRange)
	{
		var p1 = glob["selst"];
		tt.value = tt.value.substring(0, p1)+c+tt.value.substring(glob["seled"]);
		tt.setSelectionRange(p1+c.length,p1+c.length);
		glob["selst"]+=c.length;

	}
	else
	{
		if(document.selection) 
		{
				kbrd.setfoc();
				glob["sel"].text=c;
				glob["sel"].select();
		}
		else
			tt.value+=c;
	}

	return false;
},

backspace : function() 
{
	var tt=glob["input_line"];
	var p1 = glob["selst"];
	var b=0;
	tt.focus();
	if(tt.setSelectionRange)
	{
		if(glob["selst"] == glob["seled"])
		{
			b=1;		
			glob["selst"]--;
		}	
		tt.value = tt.value.substring(0, p1-b)+tt.value.substring(glob["seled"]);
//		tt.selectionStart--;
		kbrd.setfoc();
	}
	else 
	{
	    if(document.selection) {
			glob["sel"].select();
			if(glob["sel"].compareEndPoints("StartToEnd",glob["sel"])==0)
			{
				glob["sel"].moveStart("character",-1);
	
			}
			glob["sel"].text="";
			glob["sel"].select();
		}
		else
			tt.value=tt.value.substring(0, tt.value.length-1)
	}

	return false;
},

keyDown : function(obj) 
{
	var tt = glob["input_line"];
    glob["input_line"].setAttribute('_isEmpty', 'false');
	if(tt.setSelectionRange)
	{
		glob["selst"]=tt.selectionStart;
		glob["seled"]=tt.selectionEnd;
		if(glob["selst"] > glob["seled"])
		{
			var selbkup = glob["selst"];
			glob["selst"] = glob["seled"];
			glob["seled"] = selbkup;
			tt.selectionStart=tt.selectionEnd;
			tt.selectionStart=selbkup;
		}
	}
	if(document.selection)
		glob["sel"]=document.selection.createRange();		

	var o=obj.parentNode.className;
	if(o=="button")
	{
//		glob["input_line"].focus();
		obj.style.color="#fff";
//		glob["input_line"].value=glob["input_line"].value+obj.innerHTML;
		obj.style.backgroundImage="url('http://www.aport.ru/common/i/keyboard_button_active.gif')";
	}
	else
	{
		if(o=="shift") {
			if(obj.className!="active")
				obj.className="active";
			else
				obj.className="";
			obj.style.backgroundImage="url('http://www.aport.ru/common/i/keyboard_shbutton_active.gif')";
		}
		if(o=="langr" || o=="lange") {
			if(obj.className!="active")
			{
				obj.className="active";
				obj.parentNode.className="lange";
				obj.style.backgroundImage="url('http://www.aport.ru/common/i/keyboard_lrbutton_active.gif')";
			}
			else
			{
				obj.className="";
				obj.parentNode.className="langr";
				obj.style.backgroundImage="url('http://www.aport.ru/common/i/keyboard_lebutton_active.gif')";
			}	
		}
		if(o=="enter")
			obj.style.backgroundImage="url('http://www.aport.ru/common/i/keyboard_ebutton_active.gif')";
		if(o=="space") {
			obj.style.color="#fff";
			obj.style.backgroundImage="url('http://www.aport.ru/common/i/keyboard_sbutton_active.gif')";
		}
		if(o=="bspace") {
			obj.style.backgroundImage="url('http://www.aport.ru/common/i/keyboard_bbutton_active.gif')";
		}
/*		if(o=="lang")
		{
			if(obj.className!="active")
				obj.className="active";
			else
				obj.className="";
			obj.style.color="red";
		}
*/
	}
	return false;
},

keyPressed : function(obj) 
{
		var o=obj.innerHTML;
		if(o=="&amp;") {kbrd.putchar("&");return false;}
		if(o=="&lt;") {kbrd.putchar("<");return false;}
		if(o=="&gt;") {kbrd.putchar(">");return false;}
		if(o=="=&gt;") {kbrd.putchar("=>");return false;}
		if(o=="&lt;=") {kbrd.putchar("<=");return false;}
		kbrd.putchar(obj.innerHTML);
		kbrd.setfoc();
		return false;
},

keyUp : function(obj) 
{
	if(obj.parentNode.className=="shift" && obj.className=="active")
		return false;
	obj.style.backgroundImage="";
	obj.style.color="";
	return false;
},

closeKeyboard : function() 
{
	if(glob["table_over"]==0&&glob["_keyboardbool_"]==1)
	{
		kbrd.createKeyboard();
	}
},



createKeyboard : function() {
    glob["input_line"].setAttribute('_isEmpty', glob["input_line"].value.length == 0 ? 'true' : 'false');
	kbrd.setfoc();   
	glob["input_line"].onmouseover=function() {glob["table_over"]=1;};
	glob["input_line"].onmouseout=function() {glob["table_over"]=0;};
    var _div=document.getElementById("keyboard");
    if(_div.getAttribute("_init") != "true")
   	{
			_div.setAttribute("_init", "true");
			glob["_keyboardbool_"]=1;
			setTimeout("glob['table_over']=0;",10);
   	}
    else	
    {
		if(glob["_keyboardbool_"]==0)
		{
			glob["_keyboardbool_"]=1;
			setTimeout("glob['table_over']=0;",10);
			_div.style.visibility="visible";
			return 0;
		}
		else
		{
			glob["_keyboardbool_"]=0;
			glob["table_over"]=1;
			_div.style.visibility="hidden";
			return 0;
		}
	}
		
		var _table=document.createElement("table");
		_table.onclick=function() {kbrd.setfoc();};
		_table.onselect=function() {kbrd.setfoc();};
		_table.onmouseover=function() {glob["table_over"]=1;};
		_table.onmouseout=function() {glob["table_over"]=0;};
		var _close_a=document.createElement("a");
		_close_a.innerHTML="закрыть";
		_close_a.href="#";
		_close_a.onclick=function(){kbrd.createKeyboard();return false;};
		_close_a.onfocus=function(){this.blur();};
	
		var _close_div1=document.createElement("div");
		_close_div1.className="close_div1";
	
		var _close_div2=document.createElement("div");
		_close_div2.className="close_div2";
	
		_close_div2.appendChild(_close_a);
		_close_div1.appendChild(_close_div2);
	
		_table.cellSpacing=0;
	//	_table.cellSpacing=3;
		var _row;
		var _a;
		var _td;
		var i,j;
		glob["_buttons"]=new Array();
		for(i=0;i<5;i++)
		{	
			glob["_buttons"][i]=new Array();
			_row=_table.insertRow(-1);
			for(j=0;j<13;j++)
			{
				_td=_row.insertCell(-1);
				_a=document.createElement("a");
				_a.onmouseup=function() {kbrd.keyUp(this);};
				_a.onmousedown=function() {kbrd.keyDown(this);};
				_a.onmouseout=function() {kbrd.keyUp(this);};
				_a.onclick=function() {kbrd.keyPressed(this);};
				if(j==12)
				{	
					if(i==0)
					{	
						_td.className='bspace';
						_a.onclick=function() {kbrd.backspace();};
					}
					if(i==1)
					{
						_td.className='enter';
						_td.rowSpan=3;
						_a.onclick=function() {kbrd.createKeyboard();document.forms.aport_search.submit();};
					}
				}
				else if(i<4)
				{	
					_td.className='button';
					_a.innerHTML=glob["letters"][glob["_lang"]][glob["_case"]][i][j];
					glob["_buttons"][i][j]=_a;
				}
	
				if(i==4)
				{
					if(j==0)
					{
						j+=2;
						_td.className='shift';
						_td.colSpan=3;
						_a.onclick=function() {kbrd.shift(this);};
						_a.className="";
					}
					if(j==12)
					{
						j+=2;
						_td.className='langr';
						_a.onclick=function() {kbrd.lang(this);};
						_a.className="";
					}
					if(j==3)
					{
						j+=8;
						_td.className='space';
						_td.colSpan=9;
						_a.innerHTML="space";
						_a.onclick=function() {kbrd.putchar(" ");};
					}
						
				}			
				_td.appendChild(_a);
	
			}
			//close button cell+content			
			if(i==0)
			{
				_td=_row.insertCell(-1);
				_td.className="close_cell";
				_td.appendChild(_close_div1);
			}
		}
		_row=_table.insertRow(-1);
		_td=_row.insertCell(-1);
		_div.appendChild(_table);	
}
}//var kbrd END					