var currHl = '';
var hlList = new Array('');

var debug = false;

function getUrlParameter( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

function resizeToc()
{
	setObjectSize('doctoc','h',115,0,10,0) ;
	setObjectSize('toctree','h',322,0,35,0) ;
	var size=getClientSize();
	var toc_closebutton = document.getElementById('doctoc_closebutton');
	if(toc_closebutton){
		toc_closebutton.style.top=((size[1]-35)/2+35-74)+"px";
	}
	var toc_openbutton = document.getElementById('doctoc_openbutton');
	if(toc_openbutton){
		toc_openbutton.style.top=((size[1]-35)/2+35-74)+"px";
	}
}
function closeToc()
{
	var boxleft = document.getElementById('docleft');
	boxleft.style.display='none';

	var boxright = document.getElementById('docright');
	boxright.style.padding='0 0 0 15px';
	
	var boxopenbutton = document.getElementById('doctoc_openbutton');
	boxopenbutton.style.display='block';
	var boxclosebutton = document.getElementById('doctoc_closebutton');
	boxclosebutton.style.display='none';

}
function openToc()
{
	var boxleft = document.getElementById('docleft');
	boxleft.style.display='block';
	var boxright = document.getElementById('docright');

	boxright.style.padding='0 0 0 310px';
	var boxbutton = document.getElementById('doctoc_openbutton');
	boxbutton.style.display='none';
	var boxclosebutton = document.getElementById('doctoc_closebutton');
	boxclosebutton.style.display='block';
}

function loadDoc(id,db)
{
	url = 'doc.php?docid='+id+'&docdb='+db+'&cs=1';
	document.location.href = url;
}

function iiMove(id,direction,isRepositioning)
{
	i      = 1;
	anchor = '';
	if (direction=='-1')
	{
		if (id==''|| (hlList[1] == id))
		{
			url = 'doc.php?docid=' + document.getElementById('docgroupid').innerHTML + '&docdb='+document.getElementById('docdb').innerHTML+'&action=prevhilite&param='+document.getElementById('doctextno').innerHTML
			layerShow('documenthourglass');
			document.location.href = url;
			return true;
		}
		else
		{
			while(i < hlList.length && anchor =='')
			{
				if (hlList[i] == id)
				{
					anchor = hlList[i-1];
					currHl = anchor;
					break;
				}
				i++;
			}
			moveToAnchor(anchor);
		}
	}
	else
	{
		needReposition = (currHl == '')
		while(i < hlList.length)
		{
			if (hlList[i-1] == id)
			{
				anchor = hlList[i];
				currHl = anchor;
				break;
			}
			i++;
		}
		if (i == (hlList.length))
		{
			url = 'doc.php?docid=' + document.getElementById('docgroupid').innerHTML + '&docdb='+document.getElementById('docdb').innerHTML+'&action=nexthilite&param='+document.getElementById('doctextno').innerHTML
			layerShow('documenthourglass');
			document.location.href = url;
		}
		else
		{
				moveToAnchor(anchor);
		}
		if (needReposition)
		{
			if (!isRepositioning)
			{
				iiMove(currHl,direction,true);
			}
		else
		{
			url = 'doc.php?docid=' + document.getElementById('docgroupid').innerHTML + '&docdb='+document.getElementById('docdb').innerHTML+'&action=nexthilite&param='+document.getElementById('doctextno').innerHTML
			layerShow('documenthourglass');
			document.location.href = url;
			}
		}
	}
}


function moveToAnchor(anchorname)
{
	document.location.hash=anchorname;
	window.scrollBy(0,-125);
}


function saveResearchDate()
	{
	var rdstring = '';
	var foundInputs = false;

	  y = document.getElementById('dfYear');
	  m = document.getElementById('dfMonth');
	  d = document.getElementById('dfDay');
	 ds = document.getElementById('ds2');

	if (y && m && d)
	{
		var foundInputs = true;
	}
	else
	{
		y = document.getElementById('rdYear');
		m = document.getElementById('rdMonth');
		d = document.getElementById('rdDay');
	}

	if (y && m && d)
	{
		var foundInputs = true;
	}

	if (foundInputs)
	{
		rdstring = y.value;
		rdstring = rdstring + '-' + m.options[m.selectedIndex].value
		rdstring = rdstring + '-' + d.options[d.selectedIndex].value
	}
	if (ds)
	{
		if (ds.checked)
		{
			rdstring = '9999-12-31';
		}
	}
	xajax_saveResearchDate(rdstring);
}

function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}

function get_parainscreen() {
	var lastid="";
	for (ii=0;ii<document.anchors.length;ii++) {
		anch=document.anchors[ii];
		if (anch.id) {
			lastid=anch.id;
			if (lastid.substr(0,4)=='para') {
				if (findPos(anch)[1]>getScrollXY()[1]) {
					return lastid.substring(lastid.indexOf('_')+1);
				}
			}
		}
	}
	return lastid;
}

function layerShow(id)
{
    var lay = document.getElementById(id);
    if (lay)
    {
    	if (id == 'documenthourglass')
    	{
    		moveIntoPos('dhg_loader','center','center');
    	}
        lay.style.display = 'block';
    }
    else if (debug) alert('DEBUG: layerShow('+id+') not found');
}

function layerHide(id)
{
    var lay = document.getElementById(id);
	if (lay)
    {
        lay.style.display = 'none';
    }
    else if (debug){ alert('DEBUG: layerHide('+id+') not found')};
}

function windowClose(id)
{
	layerHide(id);
	layerHide('pu_mask');
}

function layerSwitch(id)
{
    var lay = document.getElementById(id);
    if (lay)
    {
        lay.style.display = lay.style.display == 'block' ? 'none' : 'block';
    }
    else if (debug) alert('DEBUG: layerSwitch('+id+') not found');
}

function layerHideAll(idlist,prefix)
{
    var idarr = idlist.split('|');
    for (i=0; i<idarr.length; i++)
    {
        layerHide(prefix + idarr[i]);
    }
}

function setTO(delayedAction)
{
    to = setTimeout(delayedAction, 400);
}


function clearTO()
{
    // if (to) warningot okoz, ha nem definialt
	if (window.to)
    {
        clearTimeout(to);
    }
	return false;
}

function set_search(ful)
{
	switch (ful)
	{
		case 2:
			layerHide('jogialap');
			layerShow('cegalap');
			layerHide('tenderalap');
			break;
		case 3:
			layerHide('jogialap');
			layerHide('cegalap');
			layerShow('tenderalap');
			break;
		case 4:
			layerShow('jogialap');
			layerHide('cegalap');
			layerHide('tenderalap');
			layerHide('ssearch');
			layerShow('asearch');
			break;
		default:
			layerShow('jogialap');
			layerHide('cegalap');
			layerHide('tenderalap');
			layerHide('asearch');
			layerShow('ssearch');
	}
	xajax_saveSearchState(ful);
	return false;
}

function set_searchMobile(ful)
{
	switch (ful)
	{
		case 1:
			layerHide('searchmenu');
			layerHide('pdafirm');
			layerShow('pdalaw');
			layerHide('onedocsearch');
			layerShow('pdaresearchdateform');
			break;
		case 2:
			layerHide('searchmenu');
			layerHide('pdalaw');
			layerHide('pdafirm');
			layerShow('onedocsearch');
			layerShow('pdaresearchdateform');
			break;
		case 3:
			layerHide('searchmenu');
			layerHide('pdalaw');
			layerShow('pdafirm');
			layerHide('onedocsearch');
			layerHide('pdaresearchdateform');
			break;
		default:
			layerShow('searchmenu');
			layerHide('pdafirm');
			layerHide('pdalaw');
			layerHide('onedocsearch');
			layerHide('pdaresearchdateform');

	}
	xajax_saveSearchState(ful);
	return false;
}

// ----------------------------------------------------------------------------
// AJAX STUB

function removeStorageItem(id)
{
    var td = document.getElementById('td_'+id);
    if (td)
    {
        td.style.display = 'none';
    }
    else if (debug) alert('DEBUG: tdnf');
    xajax_removeStorageItem(id);
}

function showWindow(id,param)
{
    xajax_showWindow(id,param);
}
// ----------------------------------------------------------------------------

function moveIntoPos(id,newLeft,newTop)
{
    var wnd = document.getElementById(id);
    var scrollXY   = getScrollXY();
    var clientSize = getClientSize()
    getMouseXY();

    var calcLeft  = newLeft;
    var calcTop   = newTop;

    var balanceVerticalCenter = true;

    if (wnd)
    {
    	// Mozgatas elott eltuntetjuk
    	layerHide(id);
        if ((parseInt(newLeft)==0) && (parseInt(newTop)==0))
        {

        	if ((screenWidth > 0) && (wndWidth >0))
            {
                calcLeft   = ((screenWidth/2) -(wndWidth/2));
            }
            if ((screenHeight > 0) && (wndHeight >0))
            {
                calcTop     = 140;
            }
        }


		//if(!isNaN(parseInt(newTop))) calcTop  = parseInt(newTop)
		//if(!isNaN(parseInt(newLeft)))calcLeft  = parseInt(newLeft)
    	if (newTop =='mouse')        calcTop  = mousex;
    	if (newLeft =='mouse')       calcLeft = mousey;
    	if (newTop =='scrollbar')    calcTop = scrollXY[1] + 140;
    	if (newLeft =='scrollbar')   calcLeft = scrollXY[0] + 10;

    	if (newTop =='center')
    	{
    		calcTop = (clientSize[1] - parseInt(wnd.style.height))/ 2;
    		if (balanceVerticalCenter)
    		{
    			verticalCorrection = parseInt(wnd.style.height) / 5;
    			calcTop = calcTop - verticalCorrection;
    		}
    	}
    	if (newLeft =='center')
    	{
    		calcLeft = (clientSize[0] - parseInt(wnd.style.width))/ 2;
    	}

    	if (calcTop < 150)
    	{
    		calcTop = 150;
    	}

        //pu_mask = document.getElementById('pu_mask');
        if (parseInt(calcLeft))
        {
        	wnd.style.left = calcLeft + 'px';
        	//if (pu_mask) pu_mask.style.left = calcLeft + 'px';
        }
        if (parseInt(calcTop))
        {
        	wnd.style.top  = calcTop  + 'px';
        	//if (pu_mask) pu_mask.style.top = calcTop + 'px';
        }
		layerShow(id);
    }
}


var mousex = 0;
var mousey = 0;
var grabx = 0;
var graby = 0;
var orix = 0;
var oriy = 0;
var elex = 0;
var eley = 0;
var algor = 0;

var dragobj = null;

function falsefunc() { return false; } // used to block cascading events

function initDragDrop()
{
  document.onmousemove = update; // update(event) implied on NS, update(null) implied on IE
  update();
}

function getMouseXY(e) // works on IE6,FF,Moz,Opera7
{
  if (!e) e = window.event; // works on IE, but not NS (we rely on NS passing us the event)

  if (e!=null)
  {
	
    if (e.pageX || e.pageY)
    { // this doesn't work on IE6!! (works on FF,Moz,Opera7)
      mousex = e.pageX;
      mousey = e.pageY;
      algor = '[e.pageX]';
      if (e.clientX || e.clientY) algor += ' [e.clientX] '
    }
    else if (e.clientX || e.clientY)
    { // works on IE6,FF,Moz,Opera7



//
//
//

		if(document.body!=null && document.body.scrollLeft!=null && document.body.scrollTop!=null){
			mousex = e.clientX + document.body.scrollLeft;
			mousey = e.clientY + document.body.scrollTop;
		}

      algor = '[e.clientX]';
      if (e.pageX || e.pageY) algor += ' [e.pageX] '
    }
  }
}

function update(e)
{
  getMouseXY(e);
}

function grab(context)
{
  document.onmousedown = falsefunc; // in NS this prevents cascading of events, thus disabling text selection
  dragobj = context;
  dragobj.style.zIndex = 10; // move it to the top
  document.onmousemove = drag;
  document.onmouseup = drop;
  grabx = mousex;
  graby = mousey;
  elex = orix = dragobj.offsetLeft;
  eley = oriy = dragobj.offsetTop;
  //elex = orix = parseInt(dragobj.style.left);
  //eley = oriy = parseInt(dragobj.style.top);
  update();
}

function drag(e) // parameter passing is important for NS family
{
  if (dragobj)
  {
    elex = orix + (mousex-grabx);
    eley = oriy + (mousey-graby);
    dragobj.style.position = "absolute";
    dragobj.style.left = (elex).toString(10) + 'px';
    dragobj.style.top  = (eley).toString(10) + 'px';
    dragobj.style.cursor = 'move';
    dragobj.style.filter = 'alpha(opacity=80)';
    dragobj.style.opacity= '0.8';
  }
  update(e);
  return false; // in IE this prevents cascading of events, thus text selection is disabled
}

function drop()
{
  update();
  document.onmousemove = update;
  document.onmouseup = null;
  document.onmousedown = null;   // re-enables text selection on NS
  //xajax_saveWindowPos(dragobj.id,elex,eley);
  if (dragobj)
  {
    //dragobj.style.zIndex = 0;
    dragobj.style.cursor = 'pointer';
    dragobj.style.filter = '';
    dragobj.style.opacity= '1';
    dragobj = null;
  }
}

initDragDrop();

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 getClientSize() {
    var myWidth = 0, myHeight = 0;
    if( typeof( window.innerWidth ) == 'number' ) {
    //Nem IE
	myWidth = window.innerWidth;
	myHeight = window.innerHeight;
    } else if( document.documentElement &&
       ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
      //IE 6+
	myWidth = document.documentElement.clientWidth;
	myHeight = document.documentElement.clientHeight;
    } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
      //IE 4
	myWidth = document.body.clientWidth;
	myHeight = document.body.clientHeight;
    }
    return [myWidth,myHeight];
}

function show_footnote(id){
    var c=document.getElementById(id+'_CONTENT');
    var m=document.getElementById(id+'_MARKER');

    // var szoveghossz=c.innerText.length;
    var szoveghossz = 0;
    if (c.innerText) {
	// IE
	szoveghossz = c.innerText.length;
    }
    if (c.textContent) {
	// FF
	szoveghossz = c.textContent.length;
    }
	//*****************************************
    var csillag_pozicio = m.offsetLeft; // IE and FF ok
    var csillag_oldal = findPos(m)[0];
    var mySize = getClientSize();
	//*****************************************
    var jobb_eltartas=300;
    var margo=15;
    var atlag_karakterszelesseg=10;
    var tippelt_szelesseg=szoveghossz*atlag_karakterszelesseg;
    if(csillag_pozicio > mySize[0]-jobb_eltartas){
        c.style.left=mySize[0]-jobb_eltartas+(csillag_pozicio-csillag_oldal);
        c.style.width=jobb_eltartas
    }else{
	if((csillag_pozicio+tippelt_szelesseg) > mySize[0]){
            c.style.left=csillag_pozicio-margo;
            c.style.width=mySize[0]-csillag_oldal-margo;
        }
    }
    c.style.display='inline';
}

function hide_footnote(id){
    var c  = document.getElementById(id+'_CONTENT');
    var m  = document.getElementById(id+'_MARKER');
    c.style.display='none';
    m.style.display='inline';
}

function clearDatabaseList(){
	var dbList = document.getElementById("CBL_Database").getElementsByTagName("input");
	for (var i=0; i != dbList.length; i++) {
		dbList.item(i).checked = false;
	}
}

function setPosition(cmd){
	if (cmd=='movevffw'){
		MoveInDoc2('VF',true);
	}
	else if (cmd=='movevfbw'){
		MoveInDoc2('VF',false);
	}
	else if (cmd=='movevtfw'){
		MoveInDoc2('VT',true);
	}
	else if (cmd=='movevtbw'){
		MoveInDoc2('VT',false);
	}
}

function clearTextField(textInput)
{
	if (textInput.value == "Kezdje gépelni a típust!")
	{
		textInput.value = "";
	}
}



function clearTextField2(textInput)
{
	if (textInput.value == "")
	{
		textInput.value = "Kezdje gépelni a típust!";
	}
}


function setObjectSize(id,dimension,mt,mr,mb,ml) {
	var box = document.getElementById(id);
	var mySize = getClientSize() ;
	if (box)
	{
		switch (dimension){
			case 'wh':
			{
				box.style.width = ((mySize[0]-mr-ml)+'px') ;
				box.style.height = ((mySize[1]-mt-mb)+'px') ;
				break ;
			}
			case 'w':
			{
				box.style.width = ((mySize[0]-mr-ml)+'px') ;
				break ;
			}
			case 'h':
			{
				box.style.height=((mySize[1]-mt-mb-10)+'px') ;
				break ;
			}
		}
	}
}


function alltrim(s){
	return s.replace(/^\s+|\s+$/, '');
}

function IsKeyPress(evt,mykey) {
	evt = (evt) ? evt : ((event) ? event : null);
	if (evt) {
		if(evt.keyCode==mykey){
			return true;
		}else{
			return false;
		}
	}else{
		return false;
	}
}

function enter(esemeny){
	if(IsKeyPress(esemeny,13)){
		return false;
	}
}

/*
function esemeny(ez,esemeny){
	var k=alltrim(String(ez.value)).length;
	if(IsKeyPress(esemeny,13)){
		if(ez.selected_value==null){
			xajax_searchOneDocHelper('select',document.getElementById('searchelement0').getAttribute('key'),document.getElementById('jo_ev').value,document.getElementById('jo_szam').value);      
		}else{
			xajax_searchOneDocHelper('select',document.getElementById('searchelement'+ez.selected_value).getAttribute('key'),document.getElementById('jo_ev').value,document.getElementById('jo_szam').value);  
			ez.selected_value =null;
		}
		return false;
	}  
	if(k>2){
		if(IsKeyPress(esemeny,40)){
			if(document.getElementById('treelayer').style.display=='none'){
				document.getElementById('treelayer').style.display='block';
			}
			if (ez.selected_value == null) {
				ez.selected_value=0;
			} else {
				if(ez.selected_value!=document.getElementById('treelayer').childNodes.length-1){
					ez.selected_value=ez.selected_value+1;
				}
			}
			for (var i = 0; i < document.getElementById('treelayer').childNodes.length; i++) {
				document.getElementById('searchelement'+i).style.background='#ffffff';
			}
			document.getElementById('searchelement'+ez.selected_value).style.background='#cccccc';
			document.getElementById('keyword').value=document.getElementById('searchelement'+ez.selected_value).getAttribute('megnevezes');
			return false;
		}
		if(IsKeyPress(esemeny,38)){
			if(ez.selected_value!=0){
				ez.selected_value=ez.selected_value-1;
			}
			for (var i = 0; i < document.getElementById('treelayer').childNodes.length; i++) {
				document.getElementById('searchelement'+i).style.background='#ffffff';
			}
			document.getElementById('searchelement'+ez.selected_value).style.background='#cccccc';
			document.getElementById('keyword').value=document.getElementById('searchelement'+ez.selected_value).getAttribute('megnevezes');
			return false;
		}
		xajax_searchOneDocHelper(0,ez.value,document.getElementById('jo_ev').value,document.getElementById('jo_szam').value);    
	}else{
		document.getElementById('treelayer').style.display='none';  
		ez.selected_value =null;
	}      
}
*/



function esemeny(ez,esemeny,divid,inputid,jo_ev_field,jo_szam_field,jo_kibocsato_field,jo_tipus_field,searchelement){
	var k=alltrim(String(ez.value)).length;

	if(IsKeyPress(esemeny,13)){
		if(ez.selected_value==null){
			xajax_searchOneDocHelper('select',document.getElementById(searchelement+'0').getAttribute('key'),document.getElementById(jo_ev_field).value,document.getElementById(jo_szam_field).value,divid,inputid,jo_ev_field,jo_szam_field,jo_kibocsato_field,jo_tipus_field,searchelement);
		}else{
			xajax_searchOneDocHelper('select',document.getElementById(searchelement+ez.selected_value).getAttribute('key'),document.getElementById(jo_ev_field).value,document.getElementById(jo_szam_field).value,divid,inputid,jo_ev_field,jo_szam_field,jo_kibocsato_field,jo_tipus_field,searchelement);
			ez.selected_value =null;
		}
		return false;
	}  
	
	if(k>2){
		if(IsKeyPress(esemeny,40)){
			if(document.getElementById(divid).style.display=='none'){
				document.getElementById(divid).style.display='block';
			}
			if (ez.selected_value == null) {
				ez.selected_value=0;
			} else {
				if(ez.selected_value!=document.getElementById(divid).childNodes.length-1){
					ez.selected_value=ez.selected_value+1;
				}
			}
			for (var i = 0; i < document.getElementById(divid).childNodes.length; i++) {
				document.getElementById(searchelement+i).style.background='#ffffff';
			}
			document.getElementById(searchelement+ez.selected_value).style.background='#cccccc';
			document.getElementById(inputid).value=document.getElementById(searchelement+ez.selected_value).getAttribute('megnevezes');
			return false;
		}
		if(IsKeyPress(esemeny,38)){
			if(ez.selected_value!=0){
				ez.selected_value=ez.selected_value-1;
			}
			for (var i = 0; i < document.getElementById(divid).childNodes.length; i++) {
				document.getElementById(searchelement+i).style.background='#ffffff';
			}
			document.getElementById(searchelement+ez.selected_value).style.background='#cccccc';
			document.getElementById(inputid).value=document.getElementById(searchelement+ez.selected_value).getAttribute('megnevezes');
			return false;
		}
		
		xajax_searchOneDocHelper(0,ez.value,document.getElementById(jo_ev_field).value,document.getElementById(jo_szam_field).value,divid,inputid,jo_ev_field,jo_szam_field,jo_kibocsato_field,jo_tipus_field,searchelement);
	}else{
		document.getElementById(divid).style.display='none';  
		ez.selected_value =null;
	}      
}


function faesemeny(func,parameter,jo_ev_field,jo_szam_field,myidx,myparent){
	if(document.getElementById('faelem'+myidx).style.display=='block'){
		document.getElementById('faelem'+myidx).style.display='none';
	}else{
		document.getElementById('faelem'+myidx).style.display='block';
		if(document.getElementById('faelem'+myidx).innerHTML.length<73){
			xajax_searchTree(func,parameter,jo_ev_field,jo_szam_field,myidx,myparent);
		}
	}
}


/*
function fa_nyit_zar(){
	if(document.getElementById('treelayer').style.display=='none'){
		if(document.getElementById('keyword').value=='Kezdje gépelni a típust!' || String(document.getElementById('keyword').value).length<3){
			document.getElementById('treelayer').innerHTML='<img src="images/loading.gif">';
			xajax_searchTree('',0,document.getElementById('jo_ev').value,document.getElementById('jo_szam').value,0,0);  
		}
		document.getElementById('treelayer').style.display='block';
	}else{
		document.getElementById('treelayer').style.display='none';  
	}
}
*/

function fa_nyit_zar(divid,inputid,jo_ev_field,jo_szam_field){
	if(document.getElementById(divid).style.display=='none'){
		if(document.getElementById(inputid).value=='Kezdje gépelni a típust!' || String(document.getElementById(inputid).value).length<3){
			document.getElementById(divid).innerHTML='<img src="images/loading.gif">';
			xajax_searchTree('',0,document.getElementById(jo_ev_field).value,document.getElementById(jo_szam_field).value,0,0);
		}
		document.getElementById(divid).style.display='block';
	}else{
		document.getElementById(divid).style.display='none';  
	}
}

//egyszeru keresomezo helper event
function helperEvent(ez,event,div_bubble_id,div_id,input_id,element_name,form_id){

	var k=alltrim(String(ez.value)).length;
	
	// ENTER
	if(IsKeyPress(event,13)){
		if(document.getElementById(div_bubble_id).style.display=='none' && checksearchtext()){
			 document.getElementById(form_id).submit();
		}
		if(ez.selected_value==null && checksearchtext()){
			document.getElementById(div_bubble_id).style.display='none';
			document.getElementById(div_id).style.display='none';
			document.getElementById(form_id).submit();  
		}else{
			var original=intelligenceSearchHelper[ez.selected_value][0];
			var helper=intelligenceSearchHelper[ez.selected_value][1];
			selectHelper(helper, original, div_bubble_id, div_id, input_id);
			ez.selected_value =null;
		}
		return false;
	}  
	if(k>1){
		// DOWN ARROW
		if(IsKeyPress(event,40)){
			// if panel is not shown go to visible and create new list
			if(document.getElementById(div_bubble_id).style.display=='none'){
				xajax_searchHelper(ez.value,div_bubble_id,div_id,input_id,element_name);
				document.getElementById(div_bubble_id).style.display='block';
				document.getElementById(div_id).style.display='block';
				ez.selected_value=0;
				return false;
			}
			if (ez.selected_value == null) {
				ez.selected_value=0;
			} else {
				if(document.getElementById(element_name+(ez.selected_value+1))!=null){
					ez.selected_value=ez.selected_value+1;
				}
			}
			setHighlight(div_id,input_id,element_name,ez.selected_value,"selectedElement");
			div_layer=document.getElementById(div_id);
			div_layer.scrollTop=div_layer.scrollTop+12;
			return false;
		}
		// UP ARROW
		if(IsKeyPress(event,38)){
			if(ez.selected_value!=0){
				ez.selected_value=ez.selected_value-1;
			}
			setHighlight(div_id,input_id,element_name,ez.selected_value,"selectedElement");
			div_layer.scrollTop=div_layer.scrollTop-12;
			return false;
		}
		if (!IsKeyPress(event,37) && !IsKeyPress(event,39)){
			// one ajax call in every 700 msec 
			if (window.helperTO){
		        clearTimeout(helperTO);
		    }
			var ajax_searchHelperFunction="xajax_searchHelper('"+ez.value+"','"+div_bubble_id+"','"+div_id+"','"+input_id+"','"+element_name+"')";
		    helperTO = setTimeout(ajax_searchHelperFunction, 700);
		}
	}else{
		document.getElementById(div_bubble_id).style.display='none';
		document.getElementById(div_id).style.display='none';  
		ez.selected_value =null;
	}      
}

//egyszeru keresomezo helper kicserelo
function selectHelper(helper, original, div_bubble_id, div_id, input_id,element_name){
 
	var text=document.getElementById(input_id).value;
	if (text.indexOf(helper)==-1){
		if ((original=="")||(original=="REPLACE_ALL")){
			document.getElementById(input_id).value=helper;
		}
		else{
			var text_replaced=text.replace(original, helper);
			document.getElementById(input_id).value=text_replaced;
		}
	}
	else{
		if (original=="REPLACE_ALL"){
			document.getElementById(input_id).value=helper;
		}
	}
	//ezutan ujra lekerjuk a helper listat
	var ez=document.getElementById(input_id);
	xajax_searchHelper(ez.value,div_bubble_id,div_id,input_id,element_name);
	document.getElementById(div_bubble_id).style.display='block';
	document.getElementById(div_id).style.display='block';
	ez.selected_value=0;
}

// IE7 class attr. bugfix
var classAttr = "class";
if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x;
		 var ieversion=new Number(RegExp.$1) // capture x.x portion and store as a number
		 if (ieversion<8){
			classAttr="className";
		}
}

//beallitja a num.-dik szoveget a megadott stilusra. eger es nyilak is ezt hivjak
function setHighlight(div_id,input_id,element_name,num,style){
	
	

	//toroljuk az osszeset
	for (var i = 0; i < document.getElementById(div_id).childNodes.length; i++) {
		if(document.getElementById(element_name+i)!=null)
			document.getElementById(element_name+i).setAttribute(classAttr,"notSelectedElement");
	}
	//elmentjuk a num-t
	document.getElementById(input_id).selected_value=null;
	if (style=="selectedElement"){
		document.getElementById(input_id).selected_value=parseInt(num);
	}
	//kijeloljuk
	document.getElementById(element_name+num).setAttribute(classAttr , style);
}



function setCookie(c_name,value)
{
	document.cookie=c_name+ "=" +escape(value);
}

function setCookieExp(c_name,value,expiredays)
{
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+
	((expiredays==null) ? "" : ";expires="+exdate.toGMTString());	
}

function addNodeToCookie(c_name,value){
	var nodes=getCookie(c_name);
	if (nodes.indexOf(value+"+")==-1){
		setCookie(c_name,nodes+"+"+escape(value));
	}
}

function removeNodeFromCookie(c_name,value){
	var nodes=getCookie(c_name);
	nodes=nodes.replace("+"+escape(value),"");
	setCookie(c_name,nodes);
}


function getCookie(c_name)
{
	if (document.cookie.length>0)
	  {
	  c_start=document.cookie.indexOf(c_name + "=");
	  if (c_start!=-1)
	    {
	    c_start=c_start + c_name.length+1;
	    c_end=document.cookie.indexOf(";",c_start);
	    if (c_end==-1) c_end=document.cookie.length;
	    return unescape(document.cookie.substring(c_start,c_end));
	    }
	  }
	return "";
}

function checksearchtext(){
	var searchtext=document.getElementById('ja_st').value; 
	if(searchtext.length<2){
		showWindow('shortsearchtext',1);
		return false;
	}else{
		return true;
	}
}
