//******************************************************************************

var canclose=true;

//******************************************************************************

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

//******************************************************************************

function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'block':(v='hide')?'none':v; }
    obj.display=v; }
}

//******************************************************************************

function showOrte(input, land)
{
	if (land == "D" && input.length > 2)
	{
		s = "/de/content/service/filialen/filialfinder_ortsvorschlag.jsp?input="+input+String.fromCharCode(38)+"target="+document.ff.fftext.name;
		sndReq(s, handleOrtsvorschlag);
	}
	else
	{
		canclose = true;
		MM_showHideLayers('ortsvorschlag', '', 'hide');
	}
}

//******************************************************************************

function handleOrtsvorschlag(str)
{ 
	if(http.readyState == 4)
	{
		var res = http.responseText;
		res = res.replace(/\r|\n|\r\n/g, "");
		res = LTrim(res);
		
		if (res != "")
		{
			var obj = eval("(" + res + ")");
			var pop = document.getElementById('ortsvorschlag');
			var s = LTrim(obj.content);
			pop.innerHTML = s;
			var pos = document.getElementsByName(obj.target)[0];
			var p = getAbsolutePos(pos);
			pop.style.left = (p.x) + 'px' ;
			pop.style.top = (p.y + pos.offsetHeight ) + 'px';	  
			MM_showHideLayers('ortsvorschlag', '', 'show');
		}
		else
		{
			// Wenn kein Ergebnis, Div wieder schließen...
			canclose = true;
			MM_showHideLayers('ortsvorschlag', '', 'hide');
		}
	}
}

//******************************************************************************

function ortexit(event)
{
   if (canclose){
      MM_showHideLayers('ortsvorschlag', '', 'hide');
	}	
}

//******************************************************************************

function getAbsolutePos(el)
{
    var SL = 0, ST = 0;
    var is_div = /^div$/i.test(el.tagName);
    
    if (is_div && el.scrollLeft)
    {
	SL = el.scrollLeft;
    }
    if (is_div && el.scrollTop)
    {
	ST = el.scrollTop;
    }

    var r = null;

    r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };
    
    if (el.offsetParent) {
	var tmp = this.getAbsolutePos(el.offsetParent);
	r.x += tmp.x;
	r.y += tmp.y;
    }
	
    return r;
}
	
