var yPos, xPos;
var SUBMIT_CLICK = true;
var origDroppiTop = 240;
var origDroppiWidth = 30;
var dragging = false; // wird gerade gedraggt
var locationHitList = "" ;//ods
var locationHitIndex = "" ;//ods
var openSuggest = "";
var documentLoaded = false;
var os ="";
var isMac = "";
var BFSide = "";
$(document).ready(function(){
$(window).unload( function() {
    if($.browser.msie && $.browser.version=="6.0")
        $("*").unbind().remove();
});
	
	 os = navigator.platform.toLowerCase();
   isMac = os.indexOf('mac')>-1 || os.indexOf('apple')>-1;
	init_inputOnclickColorValues();	
	if(ge('what_search')!=null ){	   
	         clearSearchValue();	   
	} 
	var bodyClass = "";
	if(typeof($('body').attr('class'))=="string")
	   bodyClass=$('body').attr('class');
	  
	if(ge('what_search')!=null && $('body').attr('id').indexOf('product')==-1 && $('body').attr('id').indexOf('privat')==-1 && bodyClass.indexOf('produktsuche')==-1 && bodyClass.indexOf('privat')==-1 && $('#map_search').size()<1 ){
	   initSuggest();
	}
    if(bodyClass != "print_page" && $('body').attr('id').indexOf('popup')<0){          
	    //Radial Search freischalten
	   activateRadialSearch();
     }
    initBrowserChanges();   
    if ( $('#media_scroller').size() >= 1){
		initMoveMedia();
	}  
	
	if ( $('#wallpaper_ads_01').size() >= 1){
		initWallpaper();
		recalibrateBranchenfinder();
	} 
	
	if($('#pers_bookmarking').length>=1){
	   //initPersBookmarkingScroll();
	}
	
	//Kartensuchsuggest initialisieren
	if($('#map_search').size()>0 && $('body').attr('id').indexOf('popup')<0){	   
	   initMapSuggest();
	}
   
   initPosRelevantsItems();

	if($('#main_nav').length>0){	   
    initPreloader();
   }
   
   if($('#finder').length>0){
    initBranchenfinderContents();
    $('#marginal,#header,#footer').click(function(){hideBranchenfinder();});
   }  
	if($('#pers_bookmarking').length>0){	   
	   if($.browser.msie && $.browser.version == "6.0"){
	   		 $('#droppi').css('height',$('#content').height()+'px');
	       $(window).scroll(function(){
	          fixPos();
		    });
	   }
	   if($.browser.msie && $.browser.version=='6.0')
              window.setTimeout(function(){$('#pers_bookmarking').show();},300);
       else
             $('#pers_bookmarking').show();
	   $('div.draggable').Draggable({revert:true,zIndex:99,
	        ghosting:true,
	        onStart: function(){
                        $('#dragHelper div:first').css("background-color", "transparent");
                        $('#droppi').css("width",xPos+"px");
                        $('#droppi').css("top","0px");
                        $('#dragHelper .hit_result_tel img, #dragHelper .advert_gratis_call').hide(); 
                        dragging = true;
	        }
	   });
	   $('#search_hit_page #droppi').Droppable({
	        accept : 'draggable',    tolerance:'pointer',
	        onDrop: function (drag){
	                    dropBookmark(drag);
	                    $('#droppi').css({"width":"30px","top":"240px"});
	                    dragging = false;
	                }
	   });
	   $('#advert_page #droppi').Droppable({
            accept : 'draggable',    tolerance:'pointer',
            onDrop: function (drag){
                        iDropBookmark(drag);
                        $('#droppi').css({"width":"30px","top":"240px"});
                        dragging = false;
                    }
       });
    }
    if($('#map').length>0){
    	initMap();
	}
	
	if($('div.scroll_content').length>0 && $('div.tooltip_img_big').length>0){
	   $('#maincontent, #marginal,#header,#footer').click(function(){hideTooltip('webToolTip');hideTooltipImg(currentTooltip);  hideCurrentTooltip(); });
	}
	
	//Print Seiten bekommen alle Links deaktiviert.
	if($('body.print_page').size()>0){	   
	   $('#maincontent a, div.draggable').css('cursor','default');
	   $('#maincontent div.print_tb').css("height",$('#maincontent').height());
	}
	
	
	 if($.browser.safari){
        $("div.mobile_portal button").css("left","0px");
        $("#btn_freecall").css("left","0px");
     }
	if($('body.print_page').size()<1 && $('#show_suggest').size()>0){
		if(ge('show_suggest').checked){
			SUGGEST_ENABLED = true;
		}
		else{
			SUGGEST_ENABLED = false;
		}
	}
	configureFlash();
	//Filter freischalten
	enableFilters();
	//zu große Bilder auf der Inseratsseite ?
	if($('#advert_page').size()>0)
	   resizeImgsAdvertPage();
	documentLoaded = true;
});

function configureFlash(){ 
    if($('#commercial_01 object,#commercial_01 iframe').size()<1  )
    	return;
    //ueberlagerndes Flash FF:
    $('embed').attr("wmode","transparent");
    //hart aber notwendig: das <noscript> raus, sonst gehen manche Banner nicht
    $('#commercial_01 noscript').remove();
    // IE
    var objectos = $('#commercial_01 object');
    var str = "";
    str =   objectos.html(); 
    if(str==null)
    	return;
    str+= "<param name='wmode' value='transparent'></object>";
    var new_object = "<object id='"+objectos.attr('id')+"' codebase='"+objectos.attr('codebase')+"' width='"+objectos.attr('width')+"' height='"+objectos.attr('height')+"' wmode='transparent' classid='"+objectos.attr('classid')+"'>";
    
    $('#commercial_01 object').remove();
    $('#commercial_01').append(new_object+""+str);
}

function activateRadialSearch(){
    $('#radial_search img.overlay').hide();    
    if($.browser.msie){
        $('#radial_search_inner').css('visibility','visible');
         initSlider();     
    }
    else{
         $('#radial_search_inner').css('visibility','visible');
        window.setTimeout(function(){ initSlider(); },500);
    }
    
}

function enableFilters(){
    if(!$.browser.msie){
        $('#search_delimiter img.overlay').hide();
         $('#search_delimiter .selection_inner').fadeIn(500);
     }
     else{        
        if($.browser.version != "6.0"){
            $('#search_delimiter img.overlay').hide();
            $('#search_delimiter div.selection_inner').show();
        }
     }
}

//Alle Elemente, die eine Mouse Position benötigen, werden hier initialisiert
function initPosRelevantsItems(){
    $("a,div.draggable").mouseover(function(e){
        xPos =e.pageX;
        yPos =e.pageY;
   });
}

function initTooltipScroller(which)
{
    if($('#'+which+' .scroll_content').height()>186){
        $('#'+which+' .scroll_slider_container').show();
        $('#'+which+' .arrow_up_tooltip').show();
        $('#'+which+' .arrow_down_tooltip').show();
    }
}

function getViewportDimensions() {
   var intH = 0, intW = 0;
   
   if(self.innerHeight) {
      intH = window.innerHeight;
      intW = window.innerWidth;
   } 
   else {
       if(document.documentElement && document.documentElement.clientHeight) {
           intH = document.documentElement.clientHeight;
           intW = document.documentElement.clientWidth;
       }
       else {
           if(document.body) {
               intH = document.body.clientHeight;
               intW = document.body.clientWidth;
           }
       }
   }
   return {
       height: parseInt(intH, 10),
       width: parseInt(intW, 10)
   };
}

// aendern der Inhalt-Dimensionen bei ver&aumlndern der Browser-Breite
function initMap()
{
	
	if($('#popup').length>0)
    { 
    	$('#map').height(getViewportDimensions().height-220);
	}
	else
	{
		$('#map').height(getViewportDimensions().height-300);
	}
	
	
    	if ((getViewportDimensions().width) >=1024){
    		$('#map_search #commercial_ads').css('left', (getViewportDimensions().width-210));
    		if($('#popup').length>0)
    		{ 
    		$('#map_search #content').width(getViewportDimensions().width-44);
    		}
    		else
    		{
    		$('#map_search #content').width(getViewportDimensions().width-250);
    		}
    	}
    	else
    	{
    		$('#map_search #commercial_ads').css('left', 800);
    		$('#map_search #content').width(755);
    		
    		
    		
    	}
    	$(window).resize(function(){
		 	if($('#popup').length>0)
		    { 
		    	$('#map').height(getViewportDimensions().height-220);
			}
			else
			{
				$('#map').height(getViewportDimensions().height-300);
			}
		  
		 if ((getViewportDimensions().width) >=1024){
    	
	    	$('#map_search #commercial_ads').css('left', (getViewportDimensions().width-210));
	    	if($('#popup').length>0)
    		{ 
    		$('#map_search #content').width(getViewportDimensions().width-44);
    		}
    		else
    		{
    		$('#map_search #content').width(getViewportDimensions().width-250);
    		}
    	}
    	else
    	{
    		
    		if($('#popup').length>0 && (getViewportDimensions().width) >=800)
    		{ 
    		$('#map_search #content').width(getViewportDimensions().width-44);
    		}
    		else
    		{
    		$('#map_search #commercial_ads').css('left', 800);
    		$('#map_search #content').width(755);
    		}
    		
    	}
		});
}

// aendert die Position des Merkzettels, sobald es ein Wallpaper-Banner gibt
// Zudem wird die Startseite vergrert auf Screenhoehe
function initWallpaper(){
	$('#wrapper').css('min-height',getViewportDimensions().height);
	if($.browser.msie && $.browser.version == "6.0"){    
        $('#wrapper').css('height',getViewportDimensions().height);
        $('#advert_page #pers_bookmarking, #product_search #pers_bookmarking, #privat_search #pers_bookmarking').css('top', '312px');
    }   
    else{ 
     $('#pers_bookmarking').css('top', '358px');
     $('#advert_page #pers_bookmarking, #product_search #pers_bookmarking, #privat_search #pers_bookmarking').css('top', '312px'); 
    }
}

// Aendern der Farbwerte eines Inputs beim Reinclicken
function init_inputOnclickColorValues(){	
	$('input.se_styled_input').focus(function(){		
		this.value="";
		this.style.color="#000";
		this.style.fontSize="14px";		
		this.style.fontWeight="bold";	
	});
	$('select.se_styled_input').focus(function(){		
		this.style.color="#000";		
	});
	$('input:password').focus(function(){
		this.value="";
		this.style.color="#000";	
	});	
}

// Preloader fuer die Hovers der Tab-Nav
function initPreloader(){
	$('#main_nav li').preload({
    find: '.png',
    replace: '_ovr.png'
	});
	$('#what_search_inner').preload({
    find: '_what.png',
    replace: '.png'
    });
    $('#where_search_inner').preload({
    find: '_where.png',
    replace: '.png'
    });
}
var scrolledPos = 0;
//Initialisierung der drei filter auf der Trefferliste
function initScroller(which){ 
    //Hoehe bestimmen
    var height = $('#delimiter_list_'+which).height();
    if(height>$('#scroll_slider_container_'+which).height())
        height = 282;
    if(which=="details" && $('#delimiter_list_'+which).height()> $('#scroll_slider_container_'+which).height())
        height=245;
    $('#scroll_container_'+which).height(height);
    return;
    /* 
    if($.browser.safari) ge('scroll_indicator_'+which).style.marginLeft = "2px"; //Im Safari ist der Anfasser zu weit links
    if(which=="branche"){
	    //Filter 1
	    ge('scroll_indicator_'+which).style.top = "0px";	    
	    var ocontainer_01 = $('#search_delimiter_scroll_01 .scroll_container');
	    var ocontent_01 = $('#search_delimiter_scroll_01 .scroll_content');     
	    var containerPosition_01 = "0";
	    spaceToScroll_01 = $('#delimiter_list_branche').height()-$('#scroll_container_'+which).height();  
	    var t1 = ge('scroll_content_'+which);
	    var t2 = $('#scroll_slider_container_branche .scroller_indicator');
	    $('#search_delimiter_scroll_01 .scroll_slider_container').Slider({
	            accept : '.scroll_indicator',
	            onSlide : function( cordx, cordy, x , y){      
	                t1.style.top = -spaceToScroll_01 * cordy / 100 + 'px';  
	               t2.css("margin-top","15px");  
	            }
	        }
	    );
	}
    else if(which=="details"){
	    //Filter 2
	    ge('scroll_indicator_'+which).style.top = "0px";
        var ocontainer_02 = $('#search_delimiter_scroll_02 .scroll_container');
        var ocontent_02 = $('#search_delimiter_scroll_02 .scroll_content');     
        var containerPosition_02 = "0";
        spaceToScroll_02 = $('#delimiter_list_'+which).height()-$('#scroll_container_'+which).height();   
        var t1 = ge('scroll_content_'+which);
        var t2 =  $('#scroll_slider_container_'+which+' .scroller_indicator');
        $('#search_delimiter_scroll_02 .scroll_slider_container').Slider({
                accept : '.scroll_indicator',
                onSlide : function( cordx, cordy, x , y){                                    
                    t1.style.top = -spaceToScroll_02 * cordy / 100 + 'px';  
                   t2.css("margin-top","15px");    
                }
            }
        );	    
    }
    
    else if(which=="stadtteil"){
	    //Filter 3
	    ge('scroll_indicator_'+which).style.top = "0px";
        var ocontainer_03 = $('#search_delimiter_scroll_03 .scroll_container');
        var ocontent_03 = $('#search_delimiter_scroll_03 .scroll_content');     
        var containerPosition_03 = "0";
        spaceToScroll_03 = $('#delimiter_list_'+which).height()-$('#scroll_container_'+which).height();   
        var t1 = ge('scroll_content_'+which);
        var t2 = $('#scroll_slider_container_'+which+' .scroller_indicator');
        $('#search_delimiter_scroll_03 .scroll_slider_container').Slider({
                accept : '.scroll_indicator',
                onSlide : function( cordx, cordy, x , y){                                    
                    t1.style.top = -spaceToScroll_03 * cordy / 100 + 'px';  
                    t2.css("margin-top","15px");    
                }
            }
        );
    }      
    else if(which=="place"){
	    //Filter 3
	    ge('scroll_indicator_'+which).style.top = "0px";
        var ocontainer_03 = $('#search_delimiter_place .scroll_container');
        var ocontent_03 = $('#search_delimiter_place .scroll_content');     
        var containerPosition_03 = "0";
        spaceToScroll_03 = $('#delimiter_list_'+which).height()-$('#scroll_container_'+which).height();   
        var t1 = ge('scroll_content_'+which);
        var t2 = $('#scroll_slider_container_'+which+' .scroller_indicator');
        $('#search_delimiter_place .scroll_slider_container').Slider({
                accept : '.scroll_indicator',
                onSlide : function( cordx, cordy, x , y){                                    
                    t1.style.top = -spaceToScroll_03 * cordy / 100 + 'px';  
                    t2.css("margin-top","15px");    
                }
            }
        );
    }  
    
    else if(which=="tooltip"){
	    //Tooltip Webtreffer
	    ge('scroll_indicator_'+which+'_'+currentWebToolTipIndex).style.top = "1px";
        var ocontainer_03 = $('#scroll_container_tooltip'+'_'+currentWebToolTipIndex);
        var ocontent_03 = $('#scroll_content_tooltip'+'_'+currentWebToolTipIndex);     
        var containerPosition_03 = "0";
        spaceToScroll_03 = $('#scroll_content_'+which+'_'+currentWebToolTipIndex).height()-$('#scroll_container_'+which+'_'+currentWebToolTipIndex).height();   
        var t1 =  ge('scroll_content_'+which+'_'+currentWebToolTipIndex);
        var t2 = $('#scroll_slider_container_'+which+'_'+currentWebToolTipIndex+' .scroller_indicator');
        $('#tooltip_img_big'+'_'+currentWebToolTipIndex+' .scroll_slider_container').Slider({
                accept : '.scroll_indicator',
                onSlide : function( cordx, cordy, x , y){                                    
                   t1.style.top = -spaceToScroll_03 * cordy / 100 + 'px';  
                   t2.css("margin-top","20px");    
                }
            }
        );
    }  
    */
}


/**
 * Interface Elements for jQuery
 * Slider
 * 
 * http://interface.eyecon.ro
 * 
 * Copyright (c) 2006 Stefan Petre
 * Dual licensed under the MIT (MIT-LICENSE.txt) 
 * and GPL (GPL-LICENSE.txt) licenses.
 *   
 *
 */

jQuery.iSlider = {
    tabindex : 1,
    set : function (values)
    {
        var values = values;
        return this.each(
            function()
            {
                this.slideCfg.sliders.each(
                    function (key) 
                    { 
                        jQuery.iSlider.dragmoveBy(this,values[key]);
                    }
                );
            }
        );
    },
    
    get : function()
    {
        var values = [];
        this.each(
            function(slider)
            {
                if (this.isSlider) {
                    values[slider] = [];
                    var elm = this;
                    var sizes = jQuery.iUtil.getSize(this);
                    this.slideCfg.sliders.each(
                        function (key) 
                        {
                            var x = this.offsetLeft;
                            var y = this.offsetTop;
                            xproc = parseInt(x * 100 / (sizes.w - this.offsetWidth));
                            yproc = parseInt(y * 100 / (sizes.h - this.offsetHeight));
                            values[slider][key] = [xproc||0, yproc||0, x||0, y||0];
                        }
                    );
                }
            }
        );
        return values;
    },
    
    modifyContainer : function (elm)
    {
        elm.dragCfg.containerMaxx = elm.dragCfg.cont.w - elm.dragCfg.oC.wb;
        elm.dragCfg.containerMaxy = elm.dragCfg.cont.h - elm.dragCfg.oC.hb;
        if (elm.SliderContainer.slideCfg.restricted ) {
            next = elm.SliderContainer.slideCfg.sliders.get(elm.SliderIteration+1);
            
            if (next) {
                elm.dragCfg.cont.w = (parseInt(jQuery(next).css('left'))||0) + elm.dragCfg.oC.wb;
                elm.dragCfg.cont.h = (parseInt(jQuery(next).css('top'))||0) + elm.dragCfg.oC.hb;
            }
            prev = elm.SliderContainer.slideCfg.sliders.get(elm.SliderIteration-1);
            if (prev) {
                var prevLeft = parseInt(jQuery(prev).css('left'))||0;
                var prevTop = parseInt(jQuery(prev).css('left'))||0;
                elm.dragCfg.cont.x += prevLeft;
                elm.dragCfg.cont.y += prevTop;
                elm.dragCfg.cont.w -= prevLeft;
                elm.dragCfg.cont.h -= prevTop;
            }
        }
        elm.dragCfg.maxx = elm.dragCfg.cont.w - elm.dragCfg.oC.wb;
        elm.dragCfg.maxy = elm.dragCfg.cont.h - elm.dragCfg.oC.hb;
        if(elm.dragCfg.fractions) {
            elm.dragCfg.gx = ((elm.dragCfg.cont.w - elm.dragCfg.oC.wb)/elm.dragCfg.fractions) || 1;
            elm.dragCfg.gy = ((elm.dragCfg.cont.h - elm.dragCfg.oC.hb)/elm.dragCfg.fractions) || 1;
            elm.dragCfg.fracW = elm.dragCfg.maxx / elm.dragCfg.fractions;
            elm.dragCfg.fracH = elm.dragCfg.maxy / elm.dragCfg.fractions;
        }
        
        elm.dragCfg.cont.dx = elm.dragCfg.cont.x - elm.dragCfg.oR.x;
        elm.dragCfg.cont.dy = elm.dragCfg.cont.y - elm.dragCfg.oR.y;
        
        jQuery.iDrag.helper.css('cursor', 'default');
    },
    
    onSlide : function(elm, x, y)
    {
        if (elm.dragCfg.fractions) {
                xfrac = parseInt(x/elm.dragCfg.fracW);
                xproc = xfrac * 100 / elm.dragCfg.fractions;
                yfrac = parseInt(y/elm.dragCfg.fracH);
                yproc = yfrac * 100 / elm.dragCfg.fractions;
        } else {
            xproc = parseInt(x * 100 / elm.dragCfg.containerMaxx);
            yproc = parseInt(y * 100 / elm.dragCfg.containerMaxy);
        }
        elm.dragCfg.lastSi = [xproc||0, yproc||0, x||0, y||0];
        if (elm.dragCfg.onSlide)
            elm.dragCfg.onSlide.apply(elm, elm.dragCfg.lastSi);
    },
    
    dragmoveByKey : function (event)
    {
        pressedKey = event.charCode || event.keyCode || -1;
        
        switch (pressedKey)
        {
            //end
            case 35:
                jQuery.iSlider.dragmoveBy(this.dragElem, [2000, 2000] );
            break;
            //home
            case 36:
                jQuery.iSlider.dragmoveBy(this.dragElem, [-2000, -2000] );
            break;
            //left
            case 37:
                jQuery.iSlider.dragmoveBy(this.dragElem, [-this.dragElem.dragCfg.gx||-1, 0] );
            break;
            //up
            case 38:
                jQuery.iSlider.dragmoveBy(this.dragElem, [0, -this.dragElem.dragCfg.gy||-1] );
            break;
            //right
            case 39:
                jQuery.iSlider.dragmoveBy(this.dragElem, [this.dragElem.dragCfg.gx||1, 0] );
            break;
            //down;
            case 40:
                jQuery.iDrag.dragmoveBy(this.dragElem, [0, this.dragElem.dragCfg.gy||1] );
            break;
        }
    },
    
    dragmoveBy : function (elm, position) 
    {
        if (!elm.dragCfg) {
            return;
        }
        
        elm.dragCfg.oC = jQuery.extend(
            jQuery.iUtil.getPosition(elm),
            jQuery.iUtil.getSize(elm)
        );
        
        elm.dragCfg.oR = {
            x : parseInt(jQuery.css(elm, 'left'))||0,
            y : parseInt(jQuery.css(elm, 'top'))||0
        };
        
        elm.dragCfg.oP = jQuery.css(elm, 'position');
        if (elm.dragCfg.oP != 'relative' && elm.dragCfg.oP != 'absolute') {
            elm.style.position = 'relative';
        }
        
        jQuery.iDrag.getContainment(elm);
        jQuery.iSlider.modifyContainer(elm);    
        coorder = getPageCoords('pers_bookmarking'); // hack damit scrollen auch unter position:fixed geht 
        
        dx = parseInt(position[0]) || 0;
        dy = parseInt(position[1]) || 0;
        // hack damit scrollen auch unter position:fixed geht
        if($(elm).parent().parent().parent().css('position')=='fixed'){
            dy = coorder.y;
        }
        
        nx = elm.dragCfg.oR.x + dx;
        ny = elm.dragCfg.oR.y + dy;
        if(elm.dragCfg.fractions) {
            newCoords = jQuery.iDrag.snapToGrid.apply(elm, [nx, ny, dx, dy]);
            if (newCoords.constructor == Object) {
                dx = newCoords.dx;
                dy = newCoords.dy;
            }
            nx = elm.dragCfg.oR.x + dx;
            ny = elm.dragCfg.oR.y + dy;
        }
        // hack damit scrollen auch unter position:fixed geht
        if($(elm).parent().parent().parent().css('position')=='fixed'){
            dy = 0;
        }
        newCoords = jQuery.iDrag.fitToContainer.apply(elm, [nx, ny, dx, dy]);
        if (newCoords && newCoords.constructor == Object) {
            dx = newCoords.dx;
            dy = newCoords.dy;
        }
        nx = elm.dragCfg.oR.x + dx;
        ny = elm.dragCfg.oR.y + dy;
        // hack damit scrollen auch unter position:fixed geht
        
        if (elm.dragCfg.si && (elm.dragCfg.onSlide || elm.dragCfg.onChange)) {
            jQuery.iSlider.onSlide(elm, nx, ny);
        }
        nx = !elm.dragCfg.axis || elm.dragCfg.axis == 'horizontally' ? nx : elm.dragCfg.oR.x||0;
        ny = !elm.dragCfg.axis || elm.dragCfg.axis == 'vertically' ? ny : elm.dragCfg.oR.y||0;
        elm.style.left = nx + 'px';
        elm.style.top = ny + 'px';
    },
    
    build : function(o) {
        return this.each(
            function()
            {
                if (this.isSlider == true || !o.accept || !jQuery.iUtil || !jQuery.iDrag || !jQuery.iDrop){
                    return;
                }
                toDrag = jQuery(o.accept, this);
                if (toDrag.size() == 0) {
                    return;
                }
                var params = {
                    containment: 'parent',
                    si : true,
                    onSlide : o.onSlide && o.onSlide.constructor == Function ? o.onSlide : null,
                    onChange : o.onChange && o.onChange.constructor == Function ? o.onChange : null,
                    handle: this,
                    opacity: o.opacity||false
                };
                if (o.fractions && parseInt(o.fractions)) {
                    params.fractions = parseInt(o.fractions)||1;
                    params.fractions = params.fractions > 0 ? params.fractions : 1;
                }
                if (toDrag.size() == 1)
                    toDrag.Draggable(params);
                else {
                    jQuery(toDrag.get(0)).Draggable(params);
                    params.handle = null;
                    toDrag.Draggable(params);
                }
                toDrag.keydown(jQuery.iSlider.dragmoveByKey);
                toDrag.attr('tabindex',jQuery.iSlider.tabindex++);  
                
                this.isSlider = true;
                this.slideCfg = {};
                this.slideCfg.onslide = params.onslide;
                this.slideCfg.fractions = params.fractions;
                this.slideCfg.sliders = toDrag;
                this.slideCfg.restricted = o.restricted ? true : false;
                sliderEl = this;
                sliderEl.slideCfg.sliders.each(
                    function(nr)
                    {
                        this.SliderIteration = nr;
                        this.SliderContainer = sliderEl;
                    }
                );
                if (o.values && o.values.constructor == Array) {
                    for (i = o.values.length -1; i>=0;i--) {
                        if (o.values[i].constructor == Array && o.values[i].length == 2) {
                            el = this.slideCfg.sliders.get(i);
                            if (el.tagName) {
                                jQuery.iSlider.dragmoveBy(el, o.values[i]);
                            }
                        }
                    }
                }
            }
        );
    }
};
jQuery.fn.extend(
    {
        /**
         * Create a slider width options
         * 
         * @name Slider
         * @description Create a slider width options
         * @param Hash hash A hash of parameters. All parameters are optional.
         * @option Mixed accepts string to select slider indicators or DOMElement slider indicator
         * @option Integer factions (optional) number of sgments to divide and snap slider
         * @option Function onSlide (optional) A function to be executed whenever slider indicator it is moved
         * @option Function onChanged (optional) A function to be executed whenever slider indicator was moved
         * @option Array values (optional) Initial values for slider indicators
         * @option Boolean restricted (optional) if true the slider indicator can not be moved beyond adjacent indicators
         * @type jQuery
         * @cat Plugins/Interface
         * @author Stefan Petre
         */
        Slider : jQuery.iSlider.build,
        /**
         * Set value/position for slider indicators
         * 
         * @name SliderSetValues
         * @description Set value/position for slider indicators
         * @param Array values array width values for each indicator
         * @type jQuery
         * @cat Plugins/Interface
         * @author Stefan Petre
         */
        SliderSetValues : jQuery.iSlider.set,
        /**
         * Get value/position for slider indicators
         * 
         * @name SliderSetValues
         * @description Get value/position for slider indicators
         * @type jQuery
         * @cat Plugins/Interface
         * @author Stefan Petre
         */
        SliderGetValues : jQuery.iSlider.get
    }
);

var scrollDownInterrupt = false;
var scrollUpInterrupt = false;
var scroller_top = 0;
var offset = 0;

function scrollUp(which){
    var top ="";
    if(parseInt(ge('scroll_indicator_'+which).style.top.replace(/px/,"")) >0){
        top = ge('scroll_content_'+which).style.top.replace(/px/,"");
        top = parseInt(top)+7;
        ge('scroll_content_'+which).style.top = top+"px";
        offset = 7*$('#scroll_content_'+which).height()/$('#scroll_slider_container_'+which).height();
        scroller_top = parseInt(ge('scroll_indicator_'+which).style.top.replace(/px/,"")) -Math.round(offset);
        ge('scroll_indicator_'+which).style.top = scroller_top+"px";
        if(!scrollUpInterrupt )
            window.setTimeout(function(){scrollUp(which);},50);
     }
}

function scrollDown(which){
    var top ="";
    if(parseInt(ge('scroll_indicator_'+which).style.top.replace(/px/,"")) < $('#scroll_slider_container_'+which).height()-93){
	    top = ge('scroll_content_'+which).style.top.replace(/px/,"");
	    ge('scroll_content_'+which).style.top = (top-7)+"px";
	    offset = 7*$('#scroll_content_'+which).height()/$('#scroll_slider_container_'+which).height();
	    scroller_top = parseInt(ge('scroll_indicator_'+which).style.top.replace(/px/,"")) +Math.round(offset);
	    ge('scroll_indicator_'+which).style.top = scroller_top+"px";
	    if(!scrollDownInterrupt )
	        window.setTimeout(function(){scrollDown(which);},50);
	 }
}
function disableScrollDown(){
    scrollDownInterrupt = true;
}

function enableScrollDown(){
    scrollDownInterrupt = false;
}

function disableScrollUp(){
    scrollUpInterrupt = true;
}

function enableScrollUp(){
    scrollUpInterrupt = false;
}



function initBrowserChanges(){
   //Der Slider muss ein GIF sein, weil der IE6 keine PNG Halbschatten verarbeitet
    if($.browser.msie && $.browser.version == "6.0"){    
        $('#radial_anfasser').attr('src=','./../static/img/icons/icon_anfasser.gif');
    }    
    if($.browser.msie){
        initMainNavHover(); 
    } 
    try {
         document.execCommand("BackgroundImageCache", false, true);
      } catch(err) {}

      if(jQuery.browser.msie && jQuery.browser.version <= 6){         
         try {
             document.execCommand('BackgroundImageCache', false, true);
          } catch(err) {}                
       }
}

function calcRadialDistance(cordx){
    var cordx = Math.round(cordx);
    if(cordx<74){
       if(Math.round((cordx)/7)<1)
        return 1;
       else 
        return Math.round((cordx)/7);    
    }
    else if(cordx>=74 && cordx < 80)
        return 10;
    else if(cordx>=80 && cordx < 86)
        return 20;
    else if(cordx>=86 && cordx < 92)
        return 30;
    else if(cordx>=92 && cordx < 99)
        return 40;
    else if(cordx>=99 )
        return 50;    
}

function calcRadialDistancePixel(dist){
    if (dist<10000)
    return dist/80;
    if (dist==10000)
        return 130;
    if (dist==20000)
     return 150;
   if (dist==30000)
    return 160;
   if (dist==40000)
    return 170;
   if (dist==50000)
    return 180;
   return 35;   
}

/*Begin Suggest*/

var arrowCounter = -1;
var suggestInProgress = false;

function lockCursor(which){
    if($.browser.msie){
          var range = ge(which).createTextRange(); 
          range.collapse(true); 
          range.moveEnd('character', $('#'+which).val().length); 
          range.moveStart('character', $('#'+which).val().length); 
          range.select(); 
    }
    else{
        ge(which).setSelectionRange($('#'+which).val().length,$('#'+which).val().length);
    } 
    
}

function enableSuggest(){
    SUGGEST_ENABLED = true;
}

function disableSuggest(){
    SUGGEST_ENABLED = false;
}
function initSuggest(){            
    if($('body').attr('id').indexOf('map_') ==-1){
		$('#what_search').keydown(function(event){
		 if(event.keyCode==13 && $('#'+openSuggest+' div.suggest_inner li.hover').size()<1){ //wird der suggestlayer nicht verwendet, bei return(13)submit ausfuehren.
              executeSubmit();
              closeAllLayers();
              return true;
          }
		  if(SUGGEST_ENABLED || ge('show_suggest').checked){
			   $('#suggest_what').bgiframe();
			   if(event.keyCode != 13 && event.keyCode != 38 &&  event.keyCode!=40){
			      if(!suggestInProgress){
			          suggestInProgress = true;
			          window.setTimeout(function(){ // Begin zeitverzoegertes Ajaxen
						   $.getJSON(PATH_TO_SUGGEST_WAS, { tag: $('#what_search').val() },function (data){
						       openSuggest= "suggest_what";
					            fillWithContent(data);
					            arrowCounter = -1
					            if(data.length!=0){			
					               closeAllLayers("suggest_what");                
						           openSuggest= "suggest_what";
						           if(openSuggest=="" || openSuggest!="suggest_where"){
						               window.setTimeout(function(){ge('suggest_what').style.display = "block";},50);
						               $('#what_search_inner div.headersearch_error_line').hide();
						               
						               openSuggest = "suggest_what";
						           }      
						        }
						        else{
						         closeAllLayers(); 
						        }
							  } );
							  suggestInProgress = false;
						 },SUGGEST_DELAY
						);    // Ende zeitverzoegertes Ajaxen
					}
			   }
			   else if(event.keyCode == 13 || event.keyCode == 38 || event.keyCode==40) {
			        lockCursor('what_search');
	                handleArrow(event.keyCode);
	           }
		   }
		});	
		$('#where_search').keydown(function(event){	
		  if(event.keyCode==13 && $('#'+openSuggest+' div.suggest_inner li.hover').size()<1){ //wird der suggestlayer nicht verwendet, bei return(13)submit ausfuehren.
		      executeSubmit();
		      closeAllLayers();
		      return true;
		  }
		   if(SUGGEST_ENABLED || ge('show_suggest').checked){
			   $('#suggest_where').bgiframe();
				if(event.keyCode != 13 && event.keyCode != 38 && event.keyCode!=40){
				  if(!suggestInProgress){
		               suggestInProgress = true;
		               window.setTimeout(function(){ // Begin zeitverzoegertes Ajaxen
						   $.getJSON(PATH_TO_SUGGEST_WO, { tag: $('#where_search').val() },function (data){
					           openSuggest= "suggest_where";
					           fillWithContent(data);
					           arrowCounter = -1
					           if(data.length!=0){ 
						           closeAllLayers("suggest_where");
							       openSuggest = "suggest_where";
							       if(openSuggest=="" || openSuggest!="suggest_what"){
							           window.setTimeout(function(){ge('suggest_where').style.display = "block";},50);
							           $('#where_search_inner div.headersearch_error_line').hide(); 
							           if(event.keyCode == 13 || event.keyCode == 38 ||  event.keyCode==40) 
							                handleArrow(event.keyCode);
							           openSuggest = "suggest_where";
							       }
							   }
							   else{
							     closeAllLayers();
							   }
					               
					       } );
					       suggestInProgress = false;
		                  },SUGGEST_DELAY
		                 );    // Ende zeitverzoegertes Ajaxen
		             }			    
			   }
			   else if(event.keyCode == 13 ||  event.keyCode == 38 ||  event.keyCode==40) {
		                 lockCursor('where_search');
		                handleArrow(event.keyCode);
		       }
		   }
	    });
	    $('form').submit(function(){
	           
          if(!SUBMIT_CLICK){// || openSuggest!=""){ 
               return false;
          } 
           else {
               openSuggest = "";
               if (ge('globalform') != null){
 		   ge('globalform').submit();
		}
           }   
    }); 
    }
	if($.browser.version!="6.0"){
	   $('#content,#header,#footer').click(function(){closeAllLayers()});
	}	
}

/* Array (tag1,tag2,....,tag10) &uumlbergeben*/

function fillWithContent(aContent){
    var html = new Array();
    var even_odd = new Array("even","odd");
    emptyContent();
    for(var i=0;i<aContent.length;i++){
        html.push('<li class="'+even_odd[i%2]+'" id="suggest_what_tag_'+i+'"><a href="#" onmouseover="add_hover(this);" onmouseout="remove_hover(this);" onclick="applyTag(this.innerHTML);return false;">'+aContent[i]+'</a></li>');
    }
    $('#'+openSuggest+' ul').html(html.join(""));     
}

function emptyContent(){
    $('#'+openSuggest+' ul').empty();
}


/** Implementiert die Pfeil Tasten Navigation 
 * Keycodes
 * 13: Return
 * 37: left
 * 38: top
 * 39: right
 * 40: bottom
 */
function handleArrow(keyCode){
    if($('#'+openSuggest).size()<1)return;  
    var entries = $('#'+openSuggest+' li').length;
    if(keyCode==40 && arrowCounter<entries-1){
        arrowCounter++;
        dehighlightArrow(arrowCounter-1);          
    }
    else if(keyCode==38 && arrowCounter>-1){
        arrowCounter--;
        dehighlightArrow(arrowCounter+1);
    }
    else if(keyCode==13 && $('#'+openSuggest+' div.suggest_inner li.hover').size()>0){
        SUBMIT_CLICK =false;
        if($('#suggest_town').size()>0){  //Spezialfall Kartensuche, da anderes Format
            applyTag($('#'+openSuggest+' .suggest_inner ul .hover span.suggest_town_list_02').text());
        }
        else{
            applyTag($('#'+openSuggest+' div.suggest_inner ul li.hover a').text());
        }
    }
    highlightArrow(arrowCounter);
}

function applyTag(tag){
    if(openSuggest == "suggest_what"){
        $('#what_search').val(tag);
        hideSuggest(openSuggest);
    }
    else if(openSuggest == "suggest_where" ){
        $('#where_search').val(tag);
        hideSuggest(openSuggest);
    }
    else if(openSuggest == "suggest_town"){
        if(tag.indexOf('suggest_what_tag')!=-1){ //tag ist hier kein tag, sondern die ID des Parent Links
            $('#where_search').val($('#'+tag+' span.suggest_town_list_02').html());
        }
        else{
            $('#where_search').val(tag);
        }
        saveMapSearchEntry($('#'+openSuggest+' div.suggest_inner ul li.hover').attr('id'));
        hideMapSuggest();
        openSuggest = " ";
    }
}

// Highlightet ein Tag
function highlightArrow(counter){
    $('#'+openSuggest+' .suggest_inner ul #suggest_what_tag_'+counter).addClass('hover');
}
//Dehighlightet ein Tag
function dehighlightArrow(counter){
    $('#'+openSuggest+' .suggest_inner ul #suggest_what_tag_'+counter).removeClass('hover');
}

function showSuggest(which){
    $('#'+which).show();
}

function hideSuggest(which){
    $('#'+which).hide();
    openSuggest = "";
    arrowCounter = -1;
}

function allowSubmit(){
    SUBMIT_CLICK = false;
}

function executeSubmit(){
     if (ge('executeVal')!=null) {
        ge('executeVal').value='Suchen';
    }
    openSuggest='';
    allowSubmit();
    document.forms[0].submit();
}
/*ENDE Suggest*/

//Schliesst pauschal alle offenen Layer
var layers = Array('suggest_where','suggest_what','search_delimiter_branche','search_delimiter_details','tooltip_img_big','tooltip_info','search_delimiter_stadtteil','search_delimiter_place'); //Alle vorkommenden Layer als id
function closeAllLayers(exception){
    for(var i=0;i<layers.length;i++){
        if(layers[i]!=exception)
            $('#'+layers[i]).hide();
    }    
     if(ge('search_delimiter')!=null){
        ge('toggler_branche').src ="../../static/img/site/arrow_open.gif";
        ge('toggler_details').src ="../../static/img/site/arrow_open.gif";
        ge('toggler_stadtteil').src ="../../static/img/site/arrow_open.gif";
        if (openFilter != 'place'){
            openFilter = "";
        }
    }
    if($('#toggler_place').length>=1){
     ge('toggler_place').src ="../../static/img/site/arrow_open.gif";
    }
    if(RADIALSEARCH && exception !='radial_search'){    
        hide_radial_search();
    }
    if(exception != 'pers_bookmarking' && bookmark_out){
        disablePersBookmarking();
    }    
    if(exception=="pers_bookmarking"){
        killAllTooltipSemaphores();
    }
    $('div.headersearch_error_line').show(); 
}

function killAllTooltipSemaphores(){
    window.clearTimeout(semaTimeoutTooltip);
    window.clearTimeout(semaTimeoutImgTooltip);
    window.clearTimeout(semaTooltip);
}

function resizeImgsAdvertPage(){
    $('img.toobig').each(function(){
        if($(this).width()>574)
            $(this).css('width','575px');
    });
}

//duf teaser wird nach dem Seitenload unten angeh&aumlngt
function duf_teaser(){ 
    var marginal_height =  $('#marginal').height()+$('#duf').height();
    if ( ge('duf')!= null && $('#maincontent').height() >=  marginal_height){
         $('#duf').css("position","absolute");
	    var top = ge('maincontent').offsetHeight;   	    
	    if($.browser.msie){
	       top = top+40;
	       var advert_top= top-112;
	    }
	    else{
	       top = top+40;
	       var advert_top= top-130;
	    }	       
	   
	    $('#duf').css("top",top+"px");
	    $('#advert_page #duf').css("top",advert_top+"px");
	    $('#duf').css("visibility","visible");         
    }
    else{
        $('#duf').css({"visibility":"visible","position":"static"});
    }      
}

function ge(what){
	return document.getElementById(what);
}

// Einfacher Bildwechsel
function changeImg(element, pic){
	$(element).attr('src', pic);
}

function clearSearchValue(){
		if ($('#what_search').attr('value') != null){
		  $('#what_search_overlay').css('background-image','none');
		}
		if ($('#where_search').attr('value') != null){
		  $('#where_search_overlay').css('background-image','none');
		}		
}

// Hover bei der Haupt-Navi, speziell f&uuml;r den IE6
function initMainNavHover(){
	$("#main_nav a").mouseover(function(){	
		if (this.className.indexOf('active')!=-1){		
		}
		else{
		 // $('#'+this.id+' .main_nav_text').css('top', '4px');
		}	
	});
	
	$("#main_nav a").mouseout(function(){
		if (this.className.indexOf('active')!=-1){		
		}
		else{
		  $('#'+this.id+' span.main_nav_text').css('top', '9px');
		}
	});
}

function changeInputBg(element){
    
		$('#'+element.id+'_overlay').css('background-image','none');
}

function changeInputBgS(element){
	if ($('#'+element.id).attr('value') == null){
		$('#'+element.id+'_overlay').css('background-image','none');
		$('#'+element.id).attr('value','');		
	}
}

function changeInputBgMS(element){
	if ($('#'+element.id).attr('value') == null){
		$('#'+element.id+'_overlay').css('background-image','none');
		$('#'+element.id).attr('value','');		
	}
}

function changeInputBgM(element){
	if ($('#'+element.id).attr('value') == null){
		$('#'+element.id+'_inner').css('background-image','url("../../static/css/img/bg/bg_marginal_input_m.png")');
		$('#'+element.id).attr('value','');		
	}
}

var RADIALSEARCH = false;
var radial_search_initialised = false;

function initSlider(){
 if(ge('inputDistance')===null)return;
 if($.browser.msie)
 {
 try {
 ge('radial_anfasser').src = urlPrefix + "static/img/icons/icon_anfasser.gif";
 } catch( e ) {}
 }
 var dist = ge('inputDistance').value;
 if( dist>0){
 hide_radial_search();
 $('#radial_search_off').css('background-position','-600px -50px');
 $('#radial_search_on').css('background-position','-600px -150px');
 //Alte Distanz uebernehmen
 ge('show_radial_distance').innerHTML = dist/1000;
 var px = calcRadialDistancePixel( dist );
 $('#show_radial .slider_indicator').css("left", px+"px");
 RADIALSEARCH = true;
 }
}

function enableRadialSearch(){

 if(!radial_search_initialised){
 var t1 = ge('show_radial_distance');
 var t2 = ge('inputDistance');
 $('div.slider1').Slider({
 accept : '.slider_indicator',
 fractions : 100,
 restricted: true,
 onSlide : function( cordx, cordy, x , y){
 t1.innerHTML = calcRadialDistance(((cordx)));
 t2.value= 1000*calcRadialDistance(((cordx))); //Neu
 }
 });
 radial_search_initialised = true;
 }
 closeAllLayers('show_radial');
 $('#radial_search_off').css('background-position','-600px -50px');
 $('#radial_search_on').css('background-position','-600px -150px');
 $('#show_radial').bgiframe();
 $('#show_radial').css('display','block');
 $('#radial_picker').hide();

 if (ge('inputDistance').value == '-1')
 {
 ge('inputDistance').value = 5000;
 }


 ge('radial_target').innerHTML = ge('where_search').value;
 RADIALSEARCH = true;

}
function disableRadialSearch(){
 $('#radial_picker').hide();
 $('#show_radial').css('display','none');
 $('#radial_search_off').css('background-position','-600px 0px');
 $('#radial_search_on').css('background-position','-600px -100px');
 ge('inputDistance').value=-1; // Neu

 RADIALSEARCH = false;
}

function close_radial_search(){
 $('#show_radial').hide();
}

function hide_radial_search(){
 close_radial_search()
 $('#radial_picker').show();
}

function show_radial_search(){
 closeAllLayers('show_radial');
 $('#show_radial').bgiframe();
 $('#show_radial').show();
 $('#radial_picker').hide();
 ge('radial_target').innerHTML = ge('where_search').value;
}

function activateRadialSearch(){
 $('#radial_search img.overlay').hide();
 if($.browser.msie){
 $('#radial_search_inner').css('visibility','visible');
 initSlider();
 }
 else{
 $('#radial_search_inner').css('visibility','visible');
 window.setTimeout(function(){ initSlider(); },500);
 }

}
//Ende Radial Search // JavaScript Document

// Begin Filter Funktionen
var openFilter = "";
var timeoutetToggle = false;
var sema = "";
var sema2 = "";
var initialised = new Array();


function initFilter(which){
    openFilter = which;
    if(!is_initialised(openFilter)){
	    $('#delimiter_list_'+openFilter+' li a').each(function(){
	        $(this).click(function(){	        
	           if(openFilter=="branche")
	               applyFilterBranche(this);
	           else if(openFilter=="details")
                   applyFilterDetails(this);
               else if(openFilter=="stadtteil")
                   applyFilterStadtteil(this);
	           else if(openFilter=="place")
                   applyFilter('place', this);
	           return false;
	        }).mouseout(function(){
	           if(openFilter!="details")
	               remove_hover(this);
	           else
	               remove_hover(this.parentNode);
	           startTimeoutetCloseFilter(openFilter,'toggler_'+openFilter,8000);
	        }).mouseover(function(){
	           if(openFilter!="details")
	               add_hover(this);
	           else
	               add_hover(this.parentNode);
	           stopTimeoutetCloseFilter(openFilter);
	        });
	        $('#search_delimiter_'+openFilter+' div.scroll_indicator').mouseover(function(){stopTimeoutetCloseFilter(openFilter);});
	    });
	    initialised.push(openFilter);
	    if(openFilter="details"){
	       $('#delimiter_list_'+openFilter+' li input').each(function(){
	           $(this).mouseout(function(){remove_hover(this);startTimeoutetCloseFilter(openFilter,'toggler_'+openFilter,8000);}).mouseover(function(){add_hover(this);stopTimeoutetCloseFilter(openFilter);});
	       });
	    }
	}
	openFilter = "";
}

function is_initialised(which){
    for(i=0;i<initialised.length;i++){
        if(which==initialised[i])
            return true;
    }
    return false;
}

function startTimeoutetToggleFilter(which,arrow,timeout){    
    //arrow = ge(arrow);
    if(openFilter !=which){        
        //offenen Filter sofort schliessen
	    if(openFilter!="" && openFilter !=which){
	        close_filter(openFilter,arrow);
	    }	    
	    if(openFilter=="" ){
		    timeoutetToggle = true;
		    sema = window.setTimeout(function (){timeoutetToggleFilter(which,arrow)},timeout);
		}    
    }    
}

function startTimeoutetCloseFilter(which,arrow,timeout){
    //arrow = ge(arrow);
    if(openFilter ==which){       
            timeoutetToggle = true;
            sema2 = window.setTimeout(function (){timeoutetToggleFilter(which,arrow)},timeout);
    }    
}

function stopTimeoutetCloseFilter(){
	    timeoutetToggle = false;
	    window.clearTimeout(sema2);
}

function stopTimeoutetToggleFilter(which){
    if(openFilter !=which){
       timeoutetToggle = false;
       window.clearTimeout(sema);
    }
}

function timeoutetToggleFilter(which,arrow){
    if(timeoutetToggle)
        toggleFilter(which,arrow);
}

function close_filter(which,arrow){
    var arrow = ge(arrow);
    arrow.src = "../../static/img/site/arrow_open.gif";
    openFilter = "";
    $('#search_delimiter_'+which).hide();      
    arrow.alt="Oeffnen";
    arrow.title="Oeffnen";  
      
}

function open_filter(which,arrow){ 
    var heightlimit = 0;
    initFilter(which);   
    var arrow = ge(arrow);
    closeAllLayers(openFilter);
    arrow.src = "../../static/img/site/arrow_close.gif";
    $('#search_delimiter_'+which).show();
    
    openFilter = which;
    
    //Scrollbar ja oder nein muss hier geschehen, da vorher keine h&oumlhe bekannt ist
    initScroller(which);
    if(which.indexOf('place')!=-1)
        heightlimit = 315;
    else
         heightlimit = 215;
    /* kein  Scrolling if($('#delimiter_list_'+which).height()>heightlimit){
        $('#scroll_slider_container_'+which).show();
        $('#arrow_up_'+which).show();
        $('#arrow_down_'+which).show();
    }*/
    //Refresh des Filter Footers, damit er richtig positioniert wird.
    $('div.search_delimiter_box_bottom').hide();
    $('div.search_delimiter_box_bottom').show();
    arrow.alt="Schliessen";
    arrow.title="Schliessen";
}



function toggleFilter(which,arrow){
    timeoutetToggle = false;    
    //Schliessen
    if(openFilter == which){
        close_filter(which,arrow);  
    }
    //Oeffnen
    else{
        open_filter(which,arrow);  
    }
}
function applyFilterBranche(dies){
    applyFilter('branche',dies);
}

function applyFilterDetails(dies){
    applyFilter('details',dies);
}

function applyFilterStadtteil(dies){
    applyFilter('stadtteil',dies);
}

function applyFilter(which,dies){
    var dots ="";
    if (which != 'place')
    {
    	var str = dies.firstChild.innerHTML;
    	if(which=="details")
         str = dies.innerHTML;
	    str = str.replace(/&amp;/g,"&");
	    if(str.length>18) 
	        dots="...";
	    $('#selection_text_'+which).text(str.substring(0,17)+dots);
    }
    else
    {
    	var str = dies.lastChild.innerHTML;
    	if(which=="details")
            str = dies.innerHTML;
	    str = str.replace(/&amp;/g,"&");
	    if(str.length>40) 
	        dots="...";
	    $('#selection_text_'+which).text(str.substring(0,39)+dots);
    }
    
    closeAllLayers(openFilter);
}
function resetFilter(which){
    $('#selection_text_'+which).html('nichts gew&auml;hlt');
    closeAllLayers(openFilter);
}

function applyFilterDetailsAll(dies){
    var str = "";
    var number = 0;
    $('#search_delimiter_scroll_02 input:checked').each(
        function(){            
            if(number==0)
                str = $(this).next().children("a").text();
            number++;
        }
    );
    if(number>1)
        $('#selection_text_details').html(str.substring(0,14)+" und weitere");
    else if(number==1)
        $('#selection_text_details').html(str.substring(0,20));
    else
        resetFilter('details');
    closeAllLayers(openFilter);
    stopTimeoutetToggleFilter('details');    
}

function resetFilterDetails(){
    closeAllLayers(openFilter);
    $('#selection_text_details').html('nichts gew&auml;hlt');
    $('#search_delimiter_scroll_02 input:checked').each(
        function(){
            this.click();
        }
    );    
    $('#selection_text_details').html('nichts gew&auml;hlt');
}
// End Filter Funktionen

var MoveMediaNum;
var counter_left = 0, counter_right = 7;
function initMoveMedia(){
    MoveMediaNum =  $('#media_scroller_content table tbody tr td').length; // Anzahl Elemente   
}
 
function moveMedia(element, dir){
	var this_left = parseInt($('#'+element).css("left"));
    var new_left =0 ;
    var	move_size =73;
    	
    if (dir =='left'){
        if (counter_left >= 1){
            new_left = 	this_left+move_size;
            counter_left--;
            counter_right++;            
        }
        else{
            new_left = 	0;
        }
    }
    else{        
        if(counter_left+7 < MoveMediaNum){
            new_left = 	this_left-move_size;
            counter_left++;
           counter_right--;
        }
        else{
            new_left = 	this_left;           
        }
    }
    jQuery('#'+element).animate({left:  new_left}, 500);
}

function changeMediaImg(element, content){
	var src = element.src; 
	var new_src= src.replace(/normal/, "red");	
	$('#media_scroller_content table tbody tr td img').each(function(e){
				var src_all = this.src;
				var new_src_all= src_all.replace(/red/, "normal");
				this.src = new_src_all;
			}	
	);
	element.src = new_src;
	$('#i_gallery_flash').html('<img src="'+ content +'" />');
}

function changeMultiTab(element,wrapper, container){
	$('#multitab_container_'+wrapper+' .multitab_container').css('display','none');
	$('#multitab_container_'+wrapper+'_'+container).css('display','block');	
	$('#multitab_container_'+wrapper+' .tabbed_nav li a').removeAttr('class');
	$(element).attr('class', 'active');
}

function toggleInserate(element){
	$('#duf').css("visibility","hidden");
	if($('#i_'+element+'_content').css('display') == 'none'){
		element_img = $('#i_'+element+'_headline img');
		element_img.attr('src','../../static/img/icons/icon_advert_minus.png');
		element_img.attr('title','schliessen');
		element_img.attr('alt','schliessen');		
		$('#i_'+element+'_content').show();        
	}
	else{
	    element_img = $('#i_'+element+'_headline img');
		element_img.attr('src','../../static/img/icons/icon_advert_plus.png');
		element_img.attr('title','oeffnen');
		element_img.attr('alt','oeffnen'); 	
		$('#i_'+element+'_content').hide(); 
	}	               
    duf_teaser(); //muss mit springen
}

function add_hover(dies){
    $(dies).parent().addClass("hover");
}

function remove_hover(dies){
    $(dies).parent().removeClass('hover'); 
}

// Initialisierung des Tooltips in allen varianten
var ALTTAG;
var TITLETAG;
var STATIC_URL ='../../static/img/';
var timeoutTooltip = false;
var currentTooltip = "";
var semaTimeoutTooltip = "";
var semaTimeoutImgTooltip = "";

function startTimeoutShowTooltip(element){
    killAllTooltipSemaphores();
    hideTooltip(currentTooltip);
    
    ALTTAG = $(element).attr('alt');
    TITLETAG = $(element).attr('title');
    $(element).attr('title','');
    $(element).attr('alt','');
    semaTimeoutTooltip =window.setTimeout(function(){showTooltip(element)},TOOLTIP_DELAY);
}

function showTooltip(element){
     if(dragging)return;
     if(openFilter==""){
         closeAllLayers();
	     hideTooltipImg(currentTooltip);    
	     window.clearTimeout(semaTimeoutTooltip);
	     if(!timeoutTooltip){
	        currentTooltip = element;			
			$('#tooltip h3').html(TITLETAG);
			var coords =getPageCoords(element.id)
			var top = coords.y-50;
			var left = Math.round(coords.x +($(element).width()/2))-$('#tooltip h3').width()-4;	
			var allOverWidth =$('#tooltip h3').width()+35 ;	
			
				// ist der tooltip zu weit links ?
				if(coords.x-50<$('#tooltip h3').width()){
				  left = coords.x-18;
				  if($.browser.opera) 
				  {
				      left =  left +2;
				   }
				  $('#tooltip_rev').css({"top":top+"px","left":left+"px","width":allOverWidth+"px"});
		          $('#tooltip_rev h3').html(TITLETAG);
				}	
				else{
				  if($.browser.opera) 
				  {
				      left =  left +2;	
				   }	
				  $('#tooltip').css({"top":top+"px","left":left+"px","width":allOverWidth+"px"});
			    }	
	    }
	    else{
	        window.setTimeout(function(){showTooltip(element);},1000);
	    }
	}		
}
function hideCurrentTooltip(){
    hideTooltip(currentTooltip);
}

function hideTooltip(element){
    killAllTooltipSemaphores();
	if(element!=""){
		$('#tooltip').css({ top:'0px', left:'-1000px' });
		$('#tooltip_rev').css({ top:'0px', left:'-1000px' });
		if(typeof(element)!="object" && element.indexOf('tooltip_img_big_')!=-1){
		   $('#'+element).css({ top:'0px', left:'-1000px' });
		}
		
		if(typeof(element)!="object" && element.indexOf('img_info')!=-1){
		   $('#tooltip_img_info').css({ top:'0px', left:'-1000px' });
		}
		else 	if(typeof(element)=="object" && element.id.indexOf('info')!=-1){
	       $('#tooltip_info').css({ top:'0px', left:'-1000px' });
	    }
		element = $(element);
		element.attr('alt', ALTTAG);
		element.attr('title', TITLETAG);
		currentTooltip = "";
	}
}

function startTimeoutShowInfoTooltip(element){
    if(currentTooltip!=element){
	    hideTooltip(currentTooltip);
	    ALTTAG = $(element.firstChild).attr('alt');
	    TITLETAG = $(element.firstChild).attr('title');
	    $(element.firstChild).attr('title','');
	    $(element.firstChild).attr('alt','');
	    semaTimeoutTooltip =window.setTimeout(function(){showInfoTooltip(element)},TOOLTIP_DELAY);
	 }   
}
function stopTimeoutShowInfoTooltip(){
    window.clearTimeout(semaTimeoutTooltip);
}
function showInfoTooltip(element){
    hideBranchenfinder();
     if(dragging)return;
     if(openFilter==""){
      window.clearTimeout(semaTimeoutTooltip);
         closeAllLayers();
         if(!timeoutTooltip){
            currentTooltip = element;
            ALTTAG = $(element).attr('alt');
            TITLETAG = $(element).attr('title');
            $(element).attr('title','');
            $(element).attr('alt',''); 
            var coords =getPageCoords(element.id)
            var top = coords.y-20;
            var left = coords.x +25; 
            if($.browser.opera || $.browser.msie) 
                      left =  left+15;     
                 $('#tooltip_info').css({"top":top+"px","left":left+"px"}).bgiframe().show();
        }
    }       
}
var currentWebToolTipIndex = 0;
var currentWebToolTip = "";
function showWebToolTip(dies,index){
    hideWebToolTip(currentWebToolTip);
    var x_pos = xPos-480;
    var y_pos = yPos;
    var suffix = "_big_"+index
    var src = "";
    var url ="";
    currentWebToolTipIndex = index;
    initScroller('tooltip');
    //initTooltipScroller('tooltip_img_big_'+index);
    if(dragging)return;
    closeAllLayers('tooltip_img_big_'+index);
    currentWebToolTip = 'tooltip_img_big_'+index;
    hideTooltipImg(currentTooltip);    
      if(xPos<380){
         ge('tooltip_img_big_'+index).className = "tooltip_img_big_rev";
         
      }
      else{
          x_pos=x_pos+110;
          ge('tooltip_img_big_'+index).className = "tooltip_img_big";
      }
    if(currentTooltip == ""){  
        ALTTAG = $(dies).attr('alt');
        TITLETAG = $(dies).attr('title');
        $(dies).attr('title','');
        $(dies).attr('alt',''); 
        window.setTimeout(function(){determineTTCoords(dies,url,suffix,src,x_pos,y_pos);$('#tooltip_img_big_'+index).show();},50);
    }
     if(ge('scroll_indicator_tooltip_'+index).style.top==""){ //Nur bei der Erst- nicht aber bei der Re-Initialisierung ausfuehren
        ge('scroll_indicator_tooltip_'+index).style.top = "1px";
     }
}

function hideWebToolTip(element){
    $('#'+element).css({ 'top':'0px', 'left':'-1000px' });
}

function scrollUpWebTooltip(){
    var top;
    if(parseInt(ge('scroll_indicator_tooltip_'+currentWebToolTipIndex).style.top.replace(/px/,"")) >0){
       top = parseInt(ge('scroll_indicator_tooltip_'+currentWebToolTipIndex).style.top.replace(/px/,""));
       top = top -4;
        ge('scroll_indicator_tooltip_'+currentWebToolTipIndex).style.top = top+"px";
        
        offset =  (parseInt(ge('scroll_indicator_tooltip_'+currentWebToolTipIndex).style.top.replace(/px/,""))*(($('#scroll_content_tooltip_'+currentWebToolTipIndex).height()-$('#scroll_container_tooltip_'+currentWebToolTipIndex).height())/90));
        offset = Math.round(offset);
        ge('scroll_content_tooltip').style.top = -offset+"px";
        if(!scrollUpInterrupt ){
            window.setTimeout(function(){scrollUpWebTooltip();},50);
        }
        $('#scroll_slider_container_tooltip_'+currentWebToolTipIndex).height();
     }
}

function scrollDownWebTooltip(){
var top;
    if(parseInt(ge('scroll_indicator_tooltip_'+currentWebToolTipIndex).style.top.replace(/px/,"")) < ($('#scroll_slider_container_tooltip_'+currentWebToolTipIndex).height()-90)){
        top = parseInt(ge('scroll_indicator_tooltip_'+currentWebToolTipIndex).style.top.replace(/px/,"")) ;
        top = top + 4;
        ge('scroll_indicator_tooltip_'+currentWebToolTipIndex).style.top = top+"px";
        offset =  (parseInt(ge('scroll_indicator_tooltip_'+currentWebToolTipIndex).style.top.replace(/px/,""))*(($('#scroll_content_tooltip_'+currentWebToolTipIndex).height()-$('#scroll_container_tooltip_'+currentWebToolTipIndex).height())/76));
        offset = Math.round(offset);
        ge('scroll_content_tooltip_'+currentWebToolTipIndex).style.top = -offset+"px";
        if(!scrollDownInterrupt ){
            window.setTimeout(function(){scrollDownWebTooltip();},50);
        }
        $('#scroll_slider_container_tooltip_'+currentWebToolTipIndex).height();
     }
}
//Zeigt den Tooltip plus ggf. den Link
function showTooltipImg(element,url,src){
    showTooltipImg(element,url,src, false);
}

function showTooltipImg(element,url,src, showUrl){
    //Dummy
    if(src=="dummy_polo.jpg"){
        src="../../test.png"
    }
    killAllTooltipSemaphores();
    var x_pos = xPos;
    var y_pos = yPos;
    if(dragging)return;
    hideTooltip(currentTooltip);
    closeAllLayers();
    if(currentTooltip != element){
        hideTooltipImg(currentTooltip);
    }
    if(currentTooltip == ""){    
        var suffix ="";
        ALTTAG = $(element).attr('alt');
        TITLETAG = $(element).attr('title');
        var loading_gif = '<center><img src="../../static/img/icons/loading.gif" alt="loading" id="loading_gif" class="db" style="margin-top:45px" /></center>'; 
        $(element).attr('title','');
        $(element).attr('alt',''); 
        if(xPos<250){
           suffix = "_rev";
        }
        if(openFilter==""){
           window.clearTimeout(semaTooltip);
           if(!timeoutTooltip && currentTooltip==""){
              currentTooltip = element;
              if(url != "" && url.indexOf('http://')==-1)               
                url="http://"+url; 
              //$('#tooltip_img'+suffix+' h3').html('<a href="'+ url +'" target="_blank"><img src="'+ STATIC_URL +src+'" height="135" onmouseover="stopTimeoutTooltip()" onmouseout="startTimeoutTooltip();"/></a>');
              //Demo Implementierung eines uebergrossen test.jpg zum zeigen des loading.gifs 
              $('#tooltip_img'+suffix+' h3').html(loading_gif+'<a href="'+ url +'" target="_blank"><img src="' + src + '" height="135" width="185" onmouseover="stopTimeoutTooltip()" onmouseout="startTimeoutTooltip();" style="display:none" id="new_tooltip_img"/></a>');
              if (showUrl) {
                semaTimeoutImgTooltip = window.setTimeout(function(){determineTTCoords(element,url,suffix,src,x_pos,y_pos)},TOOLTIP_DELAY);
              } else {
                semaTimeoutImgTooltip = window.setTimeout(function(){determineTTCoords(element,'',suffix,src,x_pos,y_pos)},TOOLTIP_DELAY);
              }              
              $('#tooltip_img'+suffix+' h3 #new_tooltip_img').load(function(){
                 $('#loading_gif').remove();
                 $('#tooltip_img'+suffix+' h3 #new_tooltip_img').show();
              });
           }
        }
    }
}

function determineTTCoords(element,url,suffix,src,x_pos,y_pos){
    //console.debug(element,url,suffix,src,x_pos,y_pos);
     var coords =getPageCoords(element.id);
     
     if(element.className.indexOf('mousesensitive')!=-1){
        var top = coords.y -182;
        var left = x_pos-$('#tooltip_img'+suffix+' h3').width()-10;
     }   
     else if(element.id.indexOf('web')!=-1){
        var top = coords.y -312;
        if(currentWebToolTipIndex != null && ge('tooltip_img_big_'+currentWebToolTipIndex) != null && ge('tooltip_img_big_'+currentWebToolTipIndex).className.indexOf('rev')!=-1)
            var left = x_pos+450;
        else
            var left = x_pos;
     }    
     else{     
         var top = coords.y-182;
         var left = Math.round(coords.x +($(element).width()/2))-$('#tooltip_img h3').width()-10;
    } 
     if($.browser.opera) 
        left =  left +0;
     
     if(suffix!="" && suffix.indexOf("_big")==-1){
        left = x_pos -30;        
     }
     if(url!=""){
       $('#tooltip_img'+suffix).addClass('url_tooltip'+suffix);
       short_url1 = url.substring(0,40);
       if (url.length<80) {
        short_url2 = url.substring(40,url.length); 
       } else {
        short_url2 = url.substring(40,77)+'...'; 
       }
       $('#tooltip_img'+suffix+' h3').css('height','216px');
       $('#tooltip_img'+suffix+' #tooltip_link'+suffix).html(short_url1+'<br />'+short_url2);
       if(url.indexOf('http://')!=-1)
        ge('tooltip_link'+suffix).href=url;
       else
        ge('tooltip_link'+suffix).href="http://"+url;
       top = top-31;          
     }
     if($('#wallpaper_ads_01').size()>0){
        top = top -100;
     }
     $('#tooltip_img'+suffix).css("top",top+"px");
     $('#tooltip_img'+suffix).css("left",left+"px");         
}

function hideTooltipImg(element){

	$('#tooltip_img').css({ 'top':'0px', 'left':'-1000px' });
	$('#tooltip_img_rev').css({ 'top':'0px', 'left':'-1000px' });
	$('div.tooltip_img_big').css({ 'top':'0px', 'left':'-1000px' });
     $('#tooltip_img').removeClass('url_tooltip');
     $('#tooltip_img_rev').removeClass('url_tooltip');
     $('#tooltip_img h3').css('height','186px');
     $('#tooltip_img_rev h3').css('height','186px');
     $('#tooltip_img_rev #tooltip_link_rev').html('');
     currentTooltip = "";
     timeoutTooltip = false;    
	if(element!=""){
	     element = $(element);
	     element.attr('alt', ALTTAG);
	     element.attr('title', TITLETAG);
	}
}
var semaTooltip = "";
function startTimeoutTooltip(){        
        if($('#tooltip_img').css('left') =="-1000px"){
            hideTooltipImg(currentTooltip);
            hideTooltip(currentTooltip);
            window.clearTimeout(semaTimeoutImgTooltip); 
            window.clearTimeout(semaTimeoutTooltip);
            window.clearTimeout(semaTooltip);
        }
        else{
            semaTooltip = window.setTimeout("startHideTimeoutTooltip()",1300);
        }
        timeoutTooltip = true;        
          currentTooltip = "";
        
}

function stopTimeoutTooltip(){
    timeoutTooltip = false;    
}

function startHideTimeoutTooltip(){
    if(timeoutTooltip){    
        hideTooltipImg(currentTooltip);
    }
}


//Liefert die Koordinaten eines Elements auf der Seite in Form eines Objekts 
function getPageCoords (elementId) {
     var element;
     if (document.getElementById || $.browser.opera){
       element = document.getElementById(elementId);
     }
     else if (document.all){
       element = document.all[elementId];
     }
     if (element) {
       var coords = {x: 0, y: 0};
       do {
        if(element.currentStyle){
            if(element.currentStyle.position!='relative'){
                coords.x += element.offsetLeft;
                coords.y += element.offsetTop;
            }
        }
        else{
            coords.x += element.offsetLeft;
            coords.y += element.offsetTop;
        }
         element = element.offsetParent;
       }
       while (element)
       return coords;
     }
     else
       return null;
    }  
    
function labelHover(element){
	$(element).css('font-weight','bold');
}
    
function labelDeHover(element){
	$(element).css('font-weight','normal');
}      
    
/* Branchenfinder */

var semaBranchenfinder = "";
var f_timeoutShowBranchenfinder = false;
var f_timeoutHideBranchenfinder = false;
var currentBranchenfinder = "";
var firstBranchenfinder = ""; //ist links az oder rubrik
var leftOffset = 250; // Bei Zweispaltigkeit gibt es 2 Positionen. Eine linke und eine rechte. Dies hier ist der Grenzwert
var currentCat = ""; //HTML id der ausgew&aumlhlten Kategorie (cat_x)
var show_add_info = false;
var add_info_text = "";
var LEFT_OFFSET_SECOND_FINDER = -10;
var prologPos = "";

//Auslagerung der Events vom Markup hierher
function initBranchenfinderContents(){
    $('#finder_az ul li a').click(function(){
        buildSecondFinder(this.innerHTML.toLowerCase()); 
        showBranchenfinder('second',currentCat,'');
        return false;
    });
}

// von ODS geaendert (Mantis-Bugs 2015, 2033)
function isProlog( which ){
   if( which.length >= 7 && which.substr( 0, 6 ) == "prolog" )
      return true
   return false
}

function callBranchenfinder(which,dies,themenId,infoId){
    if(!documentLoaded)return;
    killAllTooltipSemaphores();
    if(currentTooltip!="")
        hideCurrentTooltip();
    if(currentBranchenfinder!="")
        hideBranchenfinder();
    var doAjax = false
    var wo = ""
    locationHitList = null
    if( which == "first" || which == "az" || which == "third" ){ 
        wo = getWoEingabe();
        if( wo != "" )
            doAjax = true
    }
    if( doAjax == true ){ 
	        determineBFCoords('prolog,'+which,dies);
	        $('#finder_prolog div.empty_notice').css('display','none');
	        $('#finder_prolog ul').empty();
	        $('#finder_prolog img.hide_branchenfinder_x').show();
			    $('#finder_prolog').css('visibility','visible');
			    $('#finder').show();
			    $('#finder_prolog').show();   
            $.getJSON(PATH_TO_LOCATIONHITS, {wo:wo }, function( data ){
            var anzahl = data.length;            
            if( anzahl == 1 ){
                locationHitList = data
                locationHitIndex = 0
                $('#finder_prolog').hide();
                $('#finder_'+which).show();
                $('#finder_'+which).css('visibility','visible')
                determineBFCoords(which,dies);
                showBranchenfinder( which, dies, themenId, infoId )
            }else if( anzahl > -1 ){
                $('#finder_prolog div.finder_first_inner h2').show();
                locationHitList = data
                showBranchenfinder( 'prolog,'+which, dies, themenId, infoId )
            }else{
           }
        })
    }else{
         if(dies!="" && which != "second") 
            determineBFCoords(which,dies); 
           $('#finder_'+which+' img.hide_branchenfinder_x').show();
		    $('#finder_'+which).css('visibility','visible');
		    //$('#finder').show();
		    //$('#finder_'+which).show();   
        showBranchenfinder( which, dies, themenId, infoId )
    }
}

function recalibrateBranchenfinder(){
    $('#finder').css("top","94px");
}

//Von ODS um Parameter erweitert (Mantis-Bug 2003)
function showBranchenfinder(which,dies,themenId,infoId){   
    if(which.indexOf('prolog')<0){
        
    }
     $('#finder_'+which+' div.scroll_content').css("top",'0px'); //scroll Position   
    applyIVWBranchenfinder( which, dies, themenId, infoId); //IVW Aufruf, Rumpf definiert in defines.js
    // Block von ODS geaendert (Mantis-Bugs 2015, 2003)
    setWoInfo(which);
    if( isProlog( which ) ){
        firstBranchenfinder = which;
       if(locationHitList.length>0){
            buildLocations( which, dies, themenId, infoId) ;
       }
       else{            
            $('#finder_prolog ul').empty();
          $('#finder_prolog .empty_notice').show();
       }
       $('#finder_prolog .loading_gif').css('display','none');
    }
    
    if(which=="first" || which == "az" || which == 'third'){
        firstBranchenfinder = which;
        if(which=="first" && ge(dies).parentNode.childNodes.length>2){
	        show_add_info = true;
	        add_info_text = dies.innerHTML;
	    }
	    else{
	        show_add_info = false;
	        add_info_text = "";
	    }
    }      
    currentCat = dies;
    if(which=="first"){    
    	$('#finder_prolog').hide();
    	$('#finder_first img.hide_branchenfinder_x').show();
        $('#finder_first').show();
        $('#finder_first').css('visibility','visible') 
        buildRubriken(themenId);
        $('#finder_'+which+' img.loading_gif').css('display','none');
        //Block von ODS hinzugefuegt (Mantis-Bug 2033)
        $('#nuetzlicheInformationenHotelUndGastrononie').hide().css('visibility','hidden');
        $('#nuetzlicheInformationenGesundheitUndWellness').hide().css('visibility','hidden');
        if( infoId==1 ){
            $('#nuetzlicheInformationenHotelUndGastrononie').show().css('visibility','visible');
        }
        if( infoId==2 ){
            $('#nuetzlicheInformationenGesundheitUndWellness').show().css('visibility','visible');
        }        
    } 
    else if(which=="second"){
    		
    	//Für Mac FF2 und Mac Opera auf der Startseite Flash für die Zeit des BF ausblenden
    	// aber nur für die linke Hälfte des BF Indexes (=cat_1 - cat_9)
	    if(BFSide == "right" && isMac && (jQuery.browser.version.substr(0,3)=="1.8" || $.browser.opera)){
	    	$('#commercial_01').hide();
	    }
       $('img.hide_branchenfinder_x').hide();       
       $('#finder').css("width","570px");
       
      if($.browser.mozilla && jQuery.browser.version.substr(0,3)=="1.8")
         $('#finder_second *').css('overflow','auto');
       $('#finder_second img.hide_branchenfinder_x').show();
       $('#finder_second').css('visibility','visible');
       $('#finder_'+which+' img.loading_gif').css('display','none');
    }  
    else if(which=="third"){
        buildThirdFinder(themenId, infoId); //beim thirdfinder ist die themenId eigentlich eine RubrikenId
       $('#finder_'+which+' .loading_gif').css('display','none');
        $('img.hide_branchenfinder_x').hide();
        $('#finder_third img.hide_branchenfinder_x').show();
        $('#finder_third').css('visibility','visible');
    }       
    else if(which == "az"){
        //fillAZ von ODS hinzugefuegt (Matis-Bug 2015)
        fillAZ(infoId);    
       $('#finder_'+which+' img.loading_gif').css('display','none');
        $('img.hide_branchenfinder_x').hide();
        $('#finder_az .hide_branchenfinder_x').show();
        $('#finder_az').css('visibility','visible');
    }
	showButtonAndScrollers(which);
	if($.browser.msie && $.browser.version == "6.0"){
	    $('#finder_'+which).bgiframe();
	    $('#finder').bgiframe();
	}  
	$('#finder').show();
    $('#finder_'+which).show();     
    currentBranchenfinder = which;
}
function hideBranchenfinder(){
     $('#finder').hide();  
    //Für Mac FF2 und Mac Opera auf der Startseite Flash für die Zeit des BF wieder einblenden
    if(isMac && (jQuery.browser.version.substr(0,3)=="1.8" || $.browser.opera)){
    	$('#commercial_01').show();
    }
    var p = $('#finder_prolog');
    var f = $('#finder_first');
    var s = $('#finder_second');
    var t = $('#finder_third');
    var a = $('#finder_az');
    
    $('#finder finder_prolog div.add_info_container').hide();
    p.css({'visibility':'hidden','display':'none'});
    $('#finder finder_first div.add_info_container').hide();    
    f.css({'visibility':'hidden','display':'none'});
    $("#finder finder_second div.error").hide();
    s.css({'visibility':'hidden','display':'none'});
    t.css({'visibility':'hidden','display':'none'});
    a.css({'visibility':'hidden','display':'none'});
    
    $('#finder #loading_gif_'+currentBranchenfinder).show();
    $('#finder div.empty_notice').hide();
    $('#finder div.error').hide();
    $('#finder div.hide_branchenfinder_x').hide();
    $('#finder').css("width","auto");
    if(currentBranchenfinder!="")
        hideButtonAndScrollers(currentBranchenfinder);
    currentBranchenfinder = "";
    currentCat ="";
    
}

function hideButtonAndScrollers(which){
    if( isProlog( which ) )
        which="prolog"
    //$('#finder #finder_'+which+' .scroll_slider_container').hide();
    //$('#finder #finder_'+which+' .filter_arrow').hide();
    $('#finder #finder_'+which+' button').hide();
    $('#finder #finder_'+which+' h2').css('background-image','url()');
    //$('#finder #finder_'+which+' .finder_scroll').css('background-image','url()');
    if(which=="first")
        $('#finder_first div.add_info_container').hide();
    
}
function showButtonAndScrollers(which){
    if( isProlog( which ) )
        which="prolog";
    $('#finder_'+which+' button').show();
    $('#finder_'+which+' h2').css('background-image','url(../../static/css/img/bg/bg_dotted_line_black.png)');
    $('#finder_'+which+' div.finder_scroll').css('background-image','url(../../static/css/img/bg/bg_dotted_line_black.png)');
    if(which=="first" && show_add_info){
        $('#finder_first .add_info_container .topic').html(add_info_text);
        //$('#finder_first .add_info_container').show();        
    }
    else if(!show_add_info){
        $('#finder_first .add_info_container .topic').html("");
        //$('#finder_first .add_info_container').hide(); 
    }
}

function determineBFCoords(which,dies){
    var firstItemCoords = getPageCoords('cat_1');
    var yPosOfFirstItem = firstItemCoords.y+12;
    var yItem = Math.round((yPos - yPosOfFirstItem)/26)+1;
    var $finder = $('#finder');
    if(isProlog(which)){
        prologPos = yItem;
    }
    else if(!isProlog(which) && prologPos!=""){
        yItem = prologPos;
        prologPos = "";
    }
    if(yItem>9){
         var diesTop = ((yItem-11)*26)+250;
         if ( $('#wallpaper_ads_01').size() >= 1){
						diesTop = diesTop -109;
					}  
         $finder.css('top',diesTop+'px');
         yItem = 9;
    }
    else{
        y = yPosOfFirstItem-98;
         if ( $('#wallpaper_ads_01').size() >= 1){
			y = y -109;
		}  
        $finder.css('top',y+'px');
    }
    if(which=="az"){
        var coordsOfAZ = getPageCoords('cat_az');
        var xPosOfAZ = coordsOfAZ.x+170;
        x_pos = "402px";
        y_pos = (coordsOfAZ.y-272);
        if ( $('#wallpaper_ads_01').size() >= 1){
					y_pos = y_pos -109;
				}  
        $finder.css('top',y_pos+'px');
        $finder.css('left',xPosOfAZ+'px');
    }
    else{
        var diesCoords = getPageCoords(dies);
        x_pos = diesCoords.x + $('#'+dies).width()+12;
				//Auf welcher Seite wurde der BF geöffnet ?
				if(x_pos<200)
					BFSide = "left";
				else
					BFSide ="right";
				x_pos = x_pos+"px";
        ge('finder_first').className= 'finder_first_'+yItem;
        ge('finder_third').className= 'finder_first_'+yItem;
        ge('finder_prolog').className= 'finder_first_'+yItem; 
	    $finder.css('left',x_pos);
    }
}

function applyBranchenfinderSingle(dies){
    hideBranchenfinder();
    document.forms[0].submit();
}

//released durch anwenden button
//zusaetzliches Validieren, ob >0 && <25 ausgew&aumlhlt wurde
function applyBranchenfinderAll(which){
     if($('#finder_'+which+' input:checked').length==0){
        showBranchenfinderError("mindestens 1 Branche",which)         
     }     
     else if($('#finder_'+which+' input:checked').length>BF_MAX_SELECTS){
         showBranchenfinderError("maximal 25 Branchen",which)
     }
     else{
        hideBranchenfinder();
        document.forms[0].submit();
     }
}

function showBranchenfinderError(error,which){
    $('#finder_'+which+' #errortext2_'+which).html(error); 
        if($.browser.version != "6.0"){
            $("#finder_"+which+" .error").animate({ 
                opacity: "show",
                display: "block",
                duration:300
              });
        }
        else
            $('#finder_'+which+' .error').show();
}

function checkBFScroller(which){
    if($('#finder_'+which+' .scroll_content').height()>$('#finder_'+which+' .scroll_container').height()){
           spaceToScroll_01 = $('#finder_'+which+' .scroll_content').height()-$('#finder_'+which+' .scroll_container').height();
           ge('scroll_indicator_'+which+'').style.top = "1px"; 
           var t1 = $('#finder_'+which+' .scroll_content');
           $('#finder_'+which+' .scroll_slider_container').Slider({
                   accept : '.scroll_indicator',
                   onSlide : function( cordx, cordy, x , y){
                       t1.css("top",-spaceToScroll_01 * cordy / 100 + 'px');
                   }
               }
           );
           
           if($('#systemscroller_first').length <=0)
           {
		           $('#finder_'+which+' .scroll_slider_container').show();
		           $('#finder_'+which+' .filter_arrow').show();
		   }
      }
      else{
        $('#finder_'+which+' .scroll_slider_container').hide();
        $('#finder_'+which+' .filter_arrow').hide();
      }
}

function scrollUpBF(which){
    if(parseInt(ge('scroll_indicator_'+which).style.top.replace(/px$/,"")) >0){
        var top = parseInt(ge('scroll_indicator_'+which).style.top.replace(/px$/,"")) -4;
        ge('scroll_indicator_'+which).style.top = top+"px";
        var offset =  (parseInt(ge('scroll_indicator_'+which).style.top.replace(/px$/,""))*(($('#finder_'+which+' .scroll_content').height()-$('#finder_'+which+' .scroll_container').height())/120));
        var offset = Math.round(offset);
        $('#finder_'+which+' .scroll_content').css("top", -offset+"px");
        if(!scrollUpInterrupt ){
            window.setTimeout(function(){scrollUpBF(which);},50);
        }
        $('#finder_'+which+' .scroll_slider_container').height();
     }
}

function scrollDownBF(which){
    if(parseInt(ge('scroll_indicator_'+which).style.top.replace(/px$/,"")) < $('#finder_'+which+' .scroll_slider_container').height()-96){
        var top = parseInt(ge('scroll_indicator_'+which).style.top.replace(/px$/,"")) +4;
        ge('scroll_indicator_'+which).style.top = top+"px";
        var offset =  (parseInt(ge('scroll_indicator_'+which).style.top.replace(/px$/,""))*(($('#finder_'+which+' .scroll_content').height()-$('#finder_'+which+' .scroll_container').height())/120));
        var offset = Math.round(offset);
        $('#finder_'+which+' .scroll_content').css("top", -offset+"px");
        if(!scrollDownInterrupt ){
            window.setTimeout(function(){scrollDownBF(which);},50);
        }
        $('#finder_'+which+' .scroll_slider_container').height();
     }
}

function buildRubriken(currentCat){
    $('#finder_first ul').empty();
    $.getJSON(PATH_TO_RUBRIKEN, {themaID:currentCat,'locationHit':getLocationHit() },function (data){
           fillRubriken(data);    
           //checkBFScroller('first');
    }); 
}

var currentHoveredRubrik = "";
function handleRubrikhover(id){   
   if(currentHoveredRubrik!="")
    remove_hover(ge(currentHoveredRubrik));
   currentHoveredRubrik = id;
}

function removeRubrikhover(dies){
    if(dies.id!=currentHoveredRubrik){
        remove_hover(dies);
    }
}
function fillRubriken(data){
  //   data = "";
    $('#finder_first div.empty_notice').hide();
    var neww =  new Array();
     if(data.length!=0 && data!=""){
	    for(var i=0;i<data.length;i++){
	       var onclick = "handleRubrikhover(this.id);this.onmouseout=null;buildSecondFinder('"+data[i][1]+"');showBranchenfinder('second',this.id);return false;"
	       neww.push('<li><a href="#" id="rubrik_'+data[i][1]+'" onclick="' +onclick+ '" onmouseover="add_hover(this);this.onmouseout=function(){removeRubrikhover(this);};" onmouseout="removeRubrikhover(this);">'+data[i][0]+'</a></li>');
	    } 
	    $('#finder_first ul').html(neww.join(""));
	    neww = null;
       
      
	 }
	 else{
	      hideButtonAndScrollers('first');
	      $('#finder_first div.empty_notice span.noticetext2').html($('#where_search').val());
          $('#finder_first div.empty_notice').show();
          //$('#finder_first').show();
	 }
}
// Funktion von ODS hinzugefuegt (Mantis-Bug 2060
function buildSecondFinder(rubrikId){
    var parameter = {'rubrikId' : rubrikId, 'locationHit':getLocationHit() }
    buildSecondFinderDo( parameter )
}
// Funktion von ODS hinzugefuegt (Mantis-Bug 2060
function buildSecondFinderAZ(letter, infoId){
    var parameter 
    if( infoId == 1 )
       parameter = {'buchstabe' : letter, 'at':'gg', 'locationHit':getLocationHit() }
    else if( infoId == 2 )
       parameter = {'buchstabe' : letter, 'at':'wg', 'locationHit':getLocationHit() }
    else
       parameter = {'buchstabe' : letter, 'locationHit':getLocationHit() }
    buildSecondFinderDo( parameter )
}
// Funktion von ODS hinzugefuegt (Mantis-Bug 2060
function buildSecondFinderDo(parameter){
    $('#finder_second ul').empty();
    $.getJSON(PATH_TO_BRANCHEN, parameter, function (data){
           fillSecondFinder(data);
           //checkBFScroller('second');
    });
}
// Funktion von ODS hinzugefuegt (Mantis-Bug 2060
function afterAZ( letter ){
      buildSecondFinderAZ( letter )
      showBranchenfinder('second')
}

function fillSecondFinder(data){
    var tradename = "";
    var tradeid = "";
    var toAppend = new Array();
    $('#finder_second div.empty_notice').hide();
    if(data.length!=0){
        for(var i=0;i<data.length;i++){
          //toAppend von ODS angepasst (Mantis-Bug 2040)    
          tradename = data[ i ][ 0 ]
          tradeid = data[ i ][ 1 ]
         toAppend.push(getBranchenEintrag( tradename, tradeid,i ));
         }  
         $('#finder_second ul').html(toAppend.join(""));
         toAppend = null;
         $('#finder_second ul li a').mouseover(function(){add_hover(this.parentNode);}).mouseout(function(){remove_hover(this.parentNode);}).click(function(){applyBranchenfinderSingle(this);return false;});
         $('#finder_second input').mouseover(function(){add_hover(this);}).mouseout(function(){remove_hover(this);});
      }
      else{
          hideButtonAndScrollers('second');
          $('#finder_second .'+firstBranchenfinder+' span.noticetext2').html($('#where_search').val());
          $('#finder_second .'+firstBranchenfinder).show();
      }  
}

 function buildThirdFinder(rubrikId, infoId){
    var parameter;
    if( infoId == 1 )
       parameter = {'rubrikId':rubrikId, 'at':'gg', 'locationHit':getLocationHit() }
    else if( infoId == 2 )
       parameter = {'rubrikId':rubrikId, 'at':'wg', 'locationHit':getLocationHit() }
    else
       parameter = {'rubrikId':rubrikId, 'locationHit':getLocationHit() }
    $('#finder_third ul').empty();
    $.getJSON(PATH_TO_BRANCHEN, parameter,function (data){
           fillThirdFinder(data);
           //checkBFScroller('third');
     }); 
}
function fillThirdFinder(data){
    $('#finder_third div.empty_notice').hide();
    var neww = new Array();
    var tradename = "";
    var tradid = "";
    
    if(data.length!=0){
        for(var i=0;i<data.length;i++){          
          tradename = data[ i ][ 0 ]
          tradeid = data[ i ][ 1 ]
          neww.push(getBranchenEintrag( tradename, tradeid,i )); 
        }
        $('#finder_third ul').html(neww.join("")); 
        neww = null;
        $('#finder_third  ul li a').mouseover(function(){add_hover(this.parentNode);}).mouseout(function(){remove_hover(this.parentNode);}).click(function(){applyBranchenfinderSingle(this);return false;});
        $('#finder_third input').mouseover(function(){add_hover(this);}).mouseout(function(){remove_hover(this)});
      }
      else{
          hideButtonAndScrollers('third');  
          $('#finder_third div.empty_notice').show();
      }  
}

//Funktion von ODS geaendert (Mantis-Bugs 2069)
function getBranchenEintrag( tradename, tradeid,i ){
    var saf_style=''; 
    if($.browser.safari){
        saf_style =' style="top:-5px"';
    }
    var toAppend = "";
    toAppend+='<li class="clearfix"><input type="checkbox" name="trade" value="' + tradeid + '" id="' + getFinderJsId( i ) + '" onmouseover="add_hover(this);" onmouseout="remove_hover(this)" ';
    toAppend+='class="v_middle" '+saf_style+'/><label for="finder_val_'+i+'"><a href="#" onclick=afterTradeList("' + escape(tradename) + '","' + i + '",0,"' + (data.length-1)+'");return false;>'+tradename+'</a></label></li>';
    return toAppend;
}

//Funktion von ODS geaendert (Mantis-Bugs 2015, 2040)
function setWoInfo(which){
   if( isProlog( which ) )
      return;

   var bundesweit = "bundesweit"
   var wo = bundesweit
   if( locationHitList != null )
       wo = locationHitList[locationHitIndex][1];
    
   if(which=="first" || which=="third" || which == "az" ){
       $('#branchenfinder_wo_0').html(wo);
       if( wo != bundesweit )
           setWoEingabe( wo )
   
   }
   if(which == 'second'){
       $('#branchenfinder_wo_1').html(wo);
       $('#branchenfinder_wo_2').html(wo);
   }
   if(which == 'third'){
       $('#branchenfinder_wo_3').html(wo);
       $('#branchenfinder_wo_4').html(wo);
   }
}


//Funktion von ODS geaendert (Mantis-Bugs 2015, 2033)
function buildLocations( which, dies, themaId, infoId ){
   $('#finder_prolog ul').empty();
   fillLocations(which, dies, themaId, infoId);
   //window.setTimeout(function(){checkBFScroller('prolog')},1);
}

//Von ODS geaendert (Mantis-Bugs 2015, 2033)
function fillLocations(which, dies, themaId, infoId){
    $('#finder_prolog div.empty_notice').hide();
    var  nextWhich = which.substr( 7, which.length - 7 );
    var old = $('#finder_prolog ul').html();
    var neww = new Array();
    var onclick = "";
    for(var i=0;i<locationHitList.length;i++){
           onclick = "showWithLocation('" + nextWhich + "','" + dies + "','" + themaId + "','" + infoId + "','" + i + "');return false;";
           neww.push('<li><a href="#" onclick="' + onclick + '">'+locationHitList[i][1]+'</a></li>');          
    }
    $('#finder_prolog ul').html(neww.join(""));
    neww = null;
    $('#finder_prolog ul li a').mouseover(function(){add_hover(this);}).mouseout(function(){remove_hover(this);});
}


//Von ODS geaendert (Mantis-Bugs 2015, 2033) Funktion "showRubriken" entfaellt und wird durch die Funktion "showWithLocation" ersetzt
function showWithLocation( which, dies, themaId, infoId, locationHitIndex_ ){
  locationHitIndex = locationHitIndex_
  hideBranchenfinder();
 showBranchenfinder( which, dies, themaId, infoId )
}
function getLocationHit(){
   if( locationHitList == null )
      return "";
   return locationHitList[ locationHitIndex ][ 0 ]
}
function getWoEingabe(){
   var wo = $('#where_search').val();
   if( wo == null )
       wo = "";
   return wo;
}

//Funktion von ODS hinzugefuegt (Mantis-Bug 2015)
function fillAZ(infoId){
    $('#branchen_finder_a_m').empty();
    $('#branchen_finder_n_z').empty();
    var parameter;
    if( infoId == 1 ) 
       parameter = {'rubrikId' : '', 'at' : 'gg', 'locationHit':getLocationHit() }
    else if( infoId == 2 ) 
       parameter = {'rubrikId' : '', 'at' : 'wg', 'locationHit':getLocationHit() }
    else
       parameter = {'rubrikId' : '', 'locationHit':getLocationHit() }
     
    $.getJSON(PATH_TO_BRANCHEN, parameter,function (data){
        if(data.length!=0){
            var s = data[0]
               fillLetterToId( 'A', s, infoId, 'branchen_finder_a_m' )
               fillLetterToId( 'B', s, infoId, 'branchen_finder_a_m' )
               fillLetterToId( 'C', s, infoId, 'branchen_finder_a_m' )
               fillLetterToId( 'D', s, infoId, 'branchen_finder_a_m' )
               fillLetterToId( 'E', s, infoId, 'branchen_finder_a_m' )
               fillLetterToId( 'F', s, infoId, 'branchen_finder_a_m' )
               fillLetterToId( 'G', s, infoId, 'branchen_finder_a_m' )
               fillLetterToId( 'H', s, infoId, 'branchen_finder_a_m' )
               fillLetterToId( 'I', s, infoId, 'branchen_finder_a_m' )
               fillLetterToId( 'J', s, infoId, 'branchen_finder_a_m' )
               fillLetterToId( 'K', s, infoId, 'branchen_finder_a_m' )
               fillLetterToId( 'L', s, infoId, 'branchen_finder_a_m' )
               fillLetterToId( 'M', s, infoId, 'branchen_finder_a_m' )
               fillLetterToId( 'N', s, infoId, 'branchen_finder_n_z' )
               fillLetterToId( 'O', s, infoId, 'branchen_finder_n_z' )
               fillLetterToId( 'P', s, infoId, 'branchen_finder_n_z' )
               fillLetterToId( 'Q', s, infoId, 'branchen_finder_n_z' )
               fillLetterToId( 'R', s, infoId, 'branchen_finder_n_z' )
               fillLetterToId( 'S', s, infoId, 'branchen_finder_n_z' )
               fillLetterToId( 'T', s, infoId, 'branchen_finder_n_z' )
               fillLetterToId( 'U', s, infoId, 'branchen_finder_n_z' )
               fillLetterToId( 'V', s, infoId, 'branchen_finder_n_z' )
               fillLetterToId( 'W', s, infoId, 'branchen_finder_n_z' )
               fillLetterToId( 'X', s, infoId, 'branchen_finder_n_z' )
               fillLetterToId( 'Y', s, infoId, 'branchen_finder_n_z' )
               fillLetterToId( 'Z', s, infoId, 'branchen_finder_n_z' )
        }
     });
     
     
}
//Funktion von ODS hinzugefuegt (Mantis-Bug 2015)
function fillLetterToId(letter, letters, infoId, id){
   var id_ = '#' + id
   var old = $(id_).html()
   var activ = true;
   if( letters.indexOf( letter ) < 0 )
       activ = false;
   
   var s = "<li"
   if( activ == false )
       s = s + ' class="inactive"'
   s = s + "><span>"
   if( activ == true ){
       s = s + '<a href="#" id="' + letter + ''+infoId+'" onclick="afterAZ('
       s = s + "'" + letter + "'"
       s = s + ",'" + infoId + "'"   
       s = s + ');handleAZhover(this.id);this.onmouseout=null;return false;" onmouseover="add_hover(this.parentNode);this.onmouseout=function(){removeAZhover(this);}"  >'
   }
   s = s + letter
   if( activ == true ){
       s = s + '</a>'
   }
   s = s + "</span>"
   $(id_).html(old+""+s)
}

var currentHoveredAZ = "";
function handleAZhover(id){
   if(currentHoveredAZ!="")
    remove_hover(ge(currentHoveredAZ).parentNode);
   currentHoveredAZ = id;
}

function removeAZhover(dies){
    if(dies.id!=currentHoveredAZ){
        remove_hover(dies.parentNode);
    }
}

//Funktion von ODS hinzugefuegt (Mantis-Bug 2040)
function getFinderJsId( i ){
   var id = "finder_val_" + i
   return id
}
//Funktion von ODS hinzugefuegt (Mantis-Bug 2040)
function afterTradeList( tradename, index, index_min, index_max ){
    var tradename = unescape(tradename);
   var i = index_min
   var id
   //erst alle auf false
   while( i <= index_max ){
       id = getFinderJsId( i )
       ge( id ).checked = false
       i ++
   }
   //dann die Gewaehlte auf true
   id = getFinderJsId( index );
   ge( id ).checked = true;
   
   //Uebername der ausgewaehlten Branche ins was-Feld
   $('#what_search').val( tradename )
}
//Funktion von ODS hinzugefuegt (Mantis-Bug 2040)
function setWoEingabe( wo ){
   $('#where_search').val( wo )
}

//END

/* Ende Branchenfinder */
/* Start Merkzettel */
var countBookmarkingContent = 0;
var idsInBookmark = new Array();
var bookmark_out = false;
var oldTitle = "";
var bookmarkScrollInitialised = false;
var temp = 0;

function initPersBookmarkingScroll(){
    bookmarkScrollInitialised = true;
    spaceToScrollPersBookmarking = $('#pers_bookmarking_content_scroll').height()-$('#pers_bookmarking_content_inner').height();
    if(ge('scroll_indicator_bookmarking').style.top=="") //Nur bei der Erst- nicht aber bei der Re-Initialisierung ausfuehren
        ge('scroll_indicator_bookmarking').style.top = "1px";
        var t1 = ge('pers_bookmarking_content_scroll');
    $('#pers_bookmarking .scroll_slider_container').Slider({
            accept : '.scroll_indicator',
            bookmark: true,
             restricted: true,
            opacity: 0.8,
            onSlide : function( cordx, cordy, x , y){                                    
                t1.style.top = -spaceToScrollPersBookmarking * cordy / 100 + 'px';  
                //$('#pers_bookmarking .scroller_indicator').css("margin-bottom","15px");    
               temp = ge('scroll_indicator_bookmarking').style.top; 
            }
               
        }
    );
   
    $('#scroll_indicator_bookmarking,#pers_bookmarking .scroll_slider_container').mouseup(function(){ 
       // $('#pers_bookmarking .scroll_slider_container').unbind();
	  });
     
}

function scrollUpBookmarking(){
    var top;
    if(parseInt(ge('scroll_indicator_bookmarking').style.top.replace(/px/,"")) >0){
       top = parseInt(ge('scroll_indicator_bookmarking').style.top.replace(/px/,""));
       top = top -4;
        ge('scroll_indicator_bookmarking').style.top = top+"px";
        
        offset =  (parseInt(ge('scroll_indicator_bookmarking').style.top.replace(/px/,""))*(($('#pers_bookmarking_content_scroll').height()-$('#pers_bookmarking_content_inner').height())/90));
        offset = Math.round(offset);
        ge('pers_bookmarking_content_scroll').style.top = -offset+"px";
        if(!scrollUpInterrupt ){
            window.setTimeout(function(){scrollUpBookmarking();},50);
        }
        $('#scroll_slider_container_bookmarking').height();
     }
}

function scrollDownBookmarking(){
var top;
    if(parseInt(ge('scroll_indicator_bookmarking').style.top.replace(/px/,"")) < ($('#scroll_slider_container_bookmarking').height()-87)){
        top = parseInt(ge('scroll_indicator_bookmarking').style.top.replace(/px/,"")) ;
        top = top + 4;
        ge('scroll_indicator_bookmarking').style.top = top+"px";
        
        offset =  (parseInt(ge('scroll_indicator_bookmarking').style.top.replace(/px/,""))*(($('#pers_bookmarking_content_scroll').height()-$('#pers_bookmarking_content_inner').height())/90));
        offset = Math.round(offset);
        ge('pers_bookmarking_content_scroll').style.top = -offset+"px";
        if(!scrollDownInterrupt ){
            window.setTimeout(function(){scrollDownBookmarking();},50);
        }
        $('#scroll_slider_container_bookmarking').height();
     }
}

function togglePersBookmarking(){
    if (bookmark_out){
        disablePersBookmarking();       
    }
    else{
        enablePersBookmarking();
    }
}

function disablePersBookmarking(){
    ge('pers_bookmarking').style.overflow = "hidden";
    $('#pers_bookmarking').animate({left:  '-480px'});
    //$('#pers_bookmarking .filter_arrow').hide();
    $('#pers_bookmarking div.scroll_slider_container').hide();
    bookmark_out = false;
}

function enablePersBookmarking(){
    if($('#pers_bookmarking_content_scroll').height()>230){
        //initPersBookmarkingScroll();
        //$('#pers_bookmarking .scroll_slider_container').show();
        //$('#pers_bookmarking .filter_arrow').show(); 
    }
    ge('pers_bookmarking').style.overflow = "visible";
    closeAllLayers('pers_bookmarking');
    $('#pers_bookmarking').animate({left:  '0px'});
    bookmark_out = true;
}
function shakeBookmarking(){
    ge('pers_bookmarking').style.overflow = "hidden";
    $('#pers_bookmarking').animate({
        marginLeft:"5px",
        duration: 100
    });
    $('#shade').animate({
        opacity:"0.5",
        duration: 100
    });
    
    window.setTimeout(function(){$('#pers_bookmarking').animate({marginLeft:"0px", duration: "fast" });},300);
    window.setTimeout(function(){$('#shade').animate({opacity:"0.0", duration: "fast" });},300);
}

// mode = 0 : element add per click
// mode = 1 : element add per drop
function iAddToBookmarking(dies,mode){
    var resultId = ge('maincontent').className;
    
	if(in_BookmarkArray(resultId))
	        return; 
	shakeBookmarking();
    var currentTitle    = $('h1 span').html();
    var currentAddress  = $('#advert_location p #inserat_addr_str').html().replace(/(<([^>]+)>)/gi,", ");
        currentAddress += ", "+$('#advert_location p #inserat_addr_ort').html().replace(/(<([^>]+)>)/gi,", ");
    currentAddress = currentAddress?currentAddress:"";//bedingter Ausdruck um auf null zu pruefen
    var currentTel      = "Tel: "+$('#advert_location_communication .tel1').html()?"Tel: "+$('#advert_location_communication .tel1').html():"";
    var currentFax      = "Fax: "+$('#advert_location_communication .fax').html()?"Tel: "+$('#advert_location_communication .tel1').html():"";
    var even_odd        = $('#pers_bookmarking_content_scroll .clearfix').length%2==0?'even':'odd';
    $('img.enabledIcon').parent().hide();
    $('img.disabledIcon').show(); 
    $('img.disabledIcon').fadeTo("slow",0.5); // Ausgrauen des Ikons  
    insertIntoBookmarking(currentTitle,currentAddress,currentTel,currentFax,even_odd,resultId);
}

// mode = 0 : element add per click
// mode = 1 : element add per drop
function addToBookmarking(dies,mode){    
    if(mode==0)
        var resultId        = "result_"+dies.firstChild.id.substring(dies.firstChild.id.indexOf('_')+1,dies.firstChild.id.lastIndexOf('_'));    
    else
        var resultId = dies;
    
    if(in_BookmarkArray(resultId))
        return; 
    shakeBookmarking();
    
    if(mode==0){ 
        $(dies).hide();
        $('#'+resultId+' img.disabledIcon').show(); 
        $('#'+resultId+' img.disabledIcon').fadeTo("slow",0.5); // Ausgrauen des Ikons
    }
    else{      
        $('#'+dies+' img.enabledIcon').parent().hide();
        $('#'+dies+' img.disabledIcon').show(); 
        $('#'+dies+' img.disabledIcon').fadeTo("slow",0.5); // Ausgrauen des Ikons 
    }    
    var currentTitle    = $('#'+resultId+' a.hit_result_title').html();
    var currentAddress  = $('#'+resultId+' p.hit_result_address').html()?$('#'+resultId+' .hit_result_address').html():""; //bedingter Ausdruck um auf null zu pruefen
    var currentTel      = $('#'+resultId+' p.hit_result_tel').text()?$('#'+resultId+' .hit_result_tel').text():"";//bedingter Ausdruck um auf null zu pruefen
    var currentFax      = $('#'+resultId+' .hit_result_fax').html()?$('#'+resultId+' .hit_result_fax').html():"";//bedingter Ausdruck um auf null zu pruefen
    var even_odd        = $('#pers_bookmarking_content_scroll .clearfix').length%2==0?'even':'odd';    
    insertIntoBookmarking(currentTitle,currentAddress,currentTel,currentFax,even_odd,resultId);
}

//Anderungen von ODS 09. Sep 2008
function gotoDetailPage( resultIdWithPrefix ){
//bsp: http://localhost/yp/advertisement.yp?subscriberID=128013788368-1014
    var id = resultIdWithPrefix.substring("result_".length, resultIdWithPrefix.length);
    var l = '/yp/advertisement.yp?subscriberID='+id
    location = l;
}

function insertIntoBookmarking(currentTitle,currentAddress,currentTel,currentFax,even_odd,resultId){
    insertIntoBookmarkingDo(currentTitle,currentAddress,currentTel,currentFax,even_odd,resultId,true,true);
}

var newDiv = "";
function insertIntoBookmarkingDo(currentTitle,currentAddress,currentTel,currentFax,even_odd,resultId,last,doAddToCookie){
    if( countBookmarkingContent >= MERKZETTEL_MAX )
       return;
    countBookmarkingContent++;
    ge('number_entries_img').src = ge('number_entries_img').src.replace(/_./,'_'+countBookmarkingContent);
    if($.browser.msie)
        ge('number_entries_img').style.marginTop = "5px";
    $('#number_entries').html(countBookmarkingContent);
    $('#string_entries_1').show();
    var onclick = "gotoDetailPage( '" + resultId + "' );return false;"
    onclick = 'onclick="' + onclick + '"'
    newDiv = newDiv + '<div class="even clearfix">'+
                    '<input type="checkbox" class="checkbox_entry" id="v_'+resultId+'" />'+
                    '<div class="pers_b_entry">'+
                    '<h2><a href="#" ' + onclick + '>'+currentTitle+'</a></h2>'+
                        '<p>'+currentAddress+'</p>'+
                        '<p><span style="float:left;">'+currentTel+'</span><a href="#"' + onclick + ' class="underline float_r">Mehr Informationen</a><br class="clearall" /></p>'+
                        '<p>'+currentFax+'</p>'+
                    '</div>'+
                    '<br class="clearall" />'+
                '</div>';  
    if( last == true ){    
        $('#pers_bookmarking_content_scroll').append(newDiv);
        $('#number_entries').html(countBookmarkingContent);
        $('#pers_bookmarking_content_inner .selectAll').show();
        if(countBookmarkingContent==1){
            $('#string_entries_2').show();
            $('#string_entries_1').hide();
        }
        else{
            $('#string_entries_1').show();
            $('#string_entries_2').hide();
        }
        $('#pers_bookmarking_content .zero_notice').hide();
        $('#pers_bookmarking_content .bookmarking_buttons').show();
        newDiv = "";
    }
    idsInBookmark.push(resultId);
    
    //Keksen   
    if( doAddToCookie == true )
       addToCookie(resultId);
}

function addToCookie(resultId){
     if($.cookie(COOKIE_NAME)==null)
        var currentKeks = "";
    else
        var currentKeks = $.cookie(COOKIE_NAME)+",";    
    $.cookie(COOKIE_NAME,unescape(currentKeks)+''+resultId, { path: '/', expires: 10 });
}

function selectAll(dies){
   if(dies.checked)
    $('#pers_bookmarking_content_scroll input:checkbox').attr("checked","checked");
   else
    $('#pers_bookmarking_content_scroll input:checkbox').attr("checked","");
}


function deleteSelected(){
   countBookmarkingContent = $('#pers_bookmarking_content_scroll input.checkbox_entry').length-$('#pers_bookmarking_content_scroll input.checkbox_entry:checked').length ;
   if($('#advert_page').length>0){
	    $('img.disabledIcon').hide();
	    $('img.enabledIcon').parent().show(); 
   }
    $('#pers_bookmarking_content_scroll input.checkbox_entry:checked').each(function(){
        //this.id muss ein praefix gefolgt von "_" haben
        deleteFromBookmarkArray(this.id.substring(this.id.indexOf('_')+1,this.id.length));    
        deleteFormCookie(this.id.substring(this.id.indexOf('_')+1,this.id.length));
        currentId = this.id.substring(this.id.lastIndexOf('_')+1);
        $('#result_'+currentId+' .disabledIcon').hide();
        $('#result_'+currentId+' ul li a:hidden').show();
       });   
   $('#pers_bookmarking_content_scroll input.checkbox_entry:checked').parent().remove();
   $('#checkAll').attr("checked","");
   if(countBookmarkingContent>0){
        $('#number_entries').html(countBookmarkingContent);
        if(countBookmarkingContent==1){
	        $('#string_entries_2').show();
	        $('#string_entries_1').hide();
	    }
	    else{
	        $('#string_entries_1').show();
	        $('#string_entries_2').hide();
	    }
        $('#pers_bookmarking_content_inner div.selectAll').show();
        $('#pers_bookmarking_content div.zero_notice').hide();
        $('#pers_bookmarking_content div.bookmarking_buttons').show();
    }
    else{        
        $('#number_entries').html('keine');
        $('#string_entries_2').hide();
        $('#string_entries_1').show();
        $('#pers_bookmarking_content_inner div.selectAll').hide();
        $('#pers_bookmarking_content div.zero_notice').show();
        $('#pers_bookmarking_content div.bookmarking_buttons').hide();
        //$('#pers_bookmarking .filter_arrow').hide();
        $('#pers_bookmarking div.scroll_slider_container').hide()
    }
   
   ge('number_entries_img').src = '../../static/img/icons/notice/num_'+ countBookmarkingContent +'.gif';
   $('#number_entries').html(""+countBookmarkingContent);
   SUBMIT_CLICK = false;
}

function deleteFromBookmarkArray(which){
    var newIdsInBookmark = new Array();
    var new_index = 0;
    for(i=0;i<idsInBookmark.length;i++){
        if(idsInBookmark[i]!=which){
            newIdsInBookmark[new_index++]=which;
        }        
    }
    idsInBookmark = newIdsInBookmark;
}

function deleteFormCookie(id){
     var currentKeks = $.cookie(COOKIE_NAME);    
     var ext = "";
     //gibt es ein leading _, dann entfernen (Fuer die Testcases)
     if(id.charAt(0)=="_"){
        ext = '/,?'+id.substring(1,id.length)+'/g';
     }
     else{
        ext = '/,?'+id+'/g';
     }
     currentKeks = currentKeks.replace(eval(ext),"");
     //Falls der erste Eintrag geloescht wurde, muss jetzt das komma an currentKeks[0] geloescht werden
     if(currentKeks.charAt(0)==","){
        currentKeks = currentKeks.substring(1,currentKeks.length);
     }
     $.cookie(COOKIE_NAME,unescape(currentKeks), { path: '/', expires: 10 });
}

function in_BookmarkArray(elem){
    for(var i=0;i<idsInBookmark.length;i++){
        if(idsInBookmark[i]==elem)
            return true;
    }
    return false;
}
function dropBookmark(which){
    if(which.className.indexOf('search_hit')!=-1){
        addToBookmarking(which.parentNode.id,1);
    }
}
function iDropBookmark(which){
        iAddToBookmarking(which.parentNode.id,1);
}

//IE6 Notwendiges, konkret soll hiermit position:fixed simuliert werden
var lastX=-1;
var semaFixPos = "";
function truebody(){
    return (document.compatMode!="BackCompat")? document.documentElement : document.body
}

function fixPos(){
    lastX = truebody().scrollTop;
    document.getElementById("pers_bookmarking").style.left = "-550px";
    temp = getPageCoords('content'); 
    yOffset = temp.y;
    if ( $('#wallpaper_ads_01').size() >= 1)
        yOffset = yOffset + 110;
    if(semaFixPos==""){
        semaFixPos = window.setTimeout(function(){
        if(lastX != truebody().scrollTop){
            fixPos();
        }
        else{
            window.clearTimeout(semaFixPos);
            semaFixPos = "";            
            document.getElementById("pers_bookmarking").style.top = (truebody().scrollTop+yOffset)+"px";
            //document.getElementById("pers_bookmarking").style.left = "-480px";
            $('#pers_bookmarking').animate({
                left: "-480px",
                duration: "slow"
            });
        }
        },1500);
        
     }
}


/* Ende Merkzettel */
/* Being Sortier Layer */
var semaSort = "";
var sort_out = false;
var f_timeoutetSort = false;
function disable_result_sorts(){
    $('img.sort_pulldown_img').attr('src','../../static/img/site/arrow_open.gif');
    $('div .sort_pulldown').hide();
}

function toggle_result_sort(dies){
    f_timeoutetSort = true;
    closeAllLayers();
    hideTooltip(currentTooltip);
    stopTimeoutShowSort(dies);
    var src = "";
    
    if(dies.parentNode.parentNode.parentNode.id.indexOf('header')!=-1){
        src = 'content_header';
        counterpart = 'content_footer';
    }
    else{
        src = 'content_footer';
        counterpart = 'content_header';
    }
        
    disable_result_sort(counterpart);
    
    if($('#'+src+' div.sort_pulldown').css('display')=='block'){
        $('#'+src+' img.sort_pulldown_img').attr('src','../../static/img/site/arrow_open.gif');
        $('#'+src+' div.sort_pulldown').css('display','none');
    }
    else{
        
        $('#'+src+' .sort_pulldown_img').attr('src','../../static/img/site/arrow_close.gif');
        $('#'+src+' .sort_pulldown').css('display','block');
    }
}


function disable_result_sort(which){
     $('#'+which+' div.sort_pulldown').hide();
     $('#'+which+' img.sort_pulldown_img').attr('src','../../static/img/site/arrow_open.gif');
}

function applySort(dies){
    $('#content_footer a.current_sort_crit').html(dies.innerHTML);
    $('#content_header a.current_sort_crit').html(dies.innerHTML);
    disable_result_sorts();
}

function startTimeoutShowSort(dies){
    f_timeoutetSort = true;
    semaSort = window.setTimeout(function(){timeoutetShowSort(dies);},1500);
}

function stopTimeoutShowSort(dies){
    window.clearTimeout(semaSort);
    semaSort = "";
    sort_out = false;
    f_timeoutetSort = false;
}

function timeoutetShowSort(dies){
    if(semaSort!="" && f_timeoutetSort){
        toggle_result_sort(dies);
    }
}
/* Ende Sortierlayer*/ 
/* Begin Email Formulario */
//von ods geaendert (Mantis-Bug 2042)
function checkForm(){
	var errors = "";
	if (ge('email_add').value==""){
		errors = errors + "&email_add_error=1";
	}
	if (ge('your_name').value==""){
		errors = errors + "&your_name_error=1";
	}
	if (ge('email_message').value==""){
		errors = errors + "&email_message_error=1";
	}
	if (errors.length == ""){
		document.forms[0].submit();
	}
	else{
		window.location.href = location.href + errors;
        return false;
	}
}
/* End Email Formulario */

// Oeffnen der Thickbox, berechnen der Position etc,
function openThickbox(element)
{
	var TB_WIDTH = $('#' + element + '_TBinner').width();
	var TB_HEIGHT = $('#' + element + '_TBinner').height();
	if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
			$("body","html").css({height: "100%", width: "100%"});
			$("html").css("overflow","hidden");
			if (document.getElementById("TB_HideSelect") === null) {//iframe to hide select elements in ie6
				$("#TB_overlay_messageLayer").click(closeThickbox(element));
			}
		}else{//all others
			if(document.getElementById("TB_overlay") === null){
				
				$("#TB_overlay_messageLayer").click(closeThickbox(element));
			}
		}
	
	var pagesize = tb_getPageSize();
	var page_x = pagesize[0] - 150;
	var page_y = pagesize[1] - 150;	
	
	
	$('#TB_overlay_messageLayer').height(document.body.offsetHeight).bgiframe().show();
   
   // $('#' + element + '_TBinner').css({marginLeft: '-' + parseInt(( TB_WIDTH / 2),10) + 'px'});
	
	//if ( !(jQuery.browser.msie && jQuery.browser.version < 7)) { // take away IE6
	//	$('#' + element + '_TBinner').css({marginTop: '-' + parseInt(( TB_HEIGHT / 2 +40),10) + 'px'});
	//}
    
    $('#' + element + '_TBinner').show();
    
}


// Thickbox schliessen
function closeThickbox(element)
{
	$("#TB_overlay_messageLayer").hide();
    $('#' + element + '_TBinner').hide();
     if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
		$("body","html").css({height: "auto", width: "auto"});
		$("html").css("overflow","");
	}

}

// Berechnung der Fensterhoehe
function tb_getPageSize(){
	var de = document.documentElement;
	var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
	var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
	var arrayPageSize = [w,h];
	return arrayPageSize;
}


function openPopUp(element)
{
	switch(element)
	{
		case 'mobilesportal':
		var popup = window.open('../popups/GS_mobilesportal.php?type=mobilesportal', 'GelbeSeiten', "width=638,height=640,left=100,top=150");
		break;
		
		case 'click_to_call':
		var popup = window.open('../popups/GS_'+element+'.php?type='+element, 'GelbeSeiten', "width=638,height=590,left=100,top=150");
		break;
		
		case 'email_versenden':
		if($.browser.msie){
		  var popup = window.open('../popups/GS_'+element+'.php?type='+element, 'GelbeSeiten', "width=643,height=698,left=100,top=150");
		}
		else
		  var popup = window.open('../popups/GS_'+element+'.php?type='+element, 'GelbeSeiten', "width=638,height=688,left=100,top=150");
		break;
		
		case 'oepnv':
		var popup = window.open('../popups/GS_'+element+'.php?type='+element, 'GelbeSeiten', "width=800,height=748,left=0,top=0,scrollbars=yes");
		break;
		
		case 'stadtplan_inseratseite':
		var popup = window.open('../popups/GS_'+element+'.php?type='+element, 'GelbeSeiten', "width=800,height=748,left=0,top=0,resizable=yes");
		break;
		
		case 'anb':
		var popup = window.open('../popups/GS_'+element+'.php?type='+element, 'GelbeSeiten', "width=800,height=748,left=0,top=0,scrollbars=yes");
		break;
		
		case 'hrs':
		var popup = window.open('../popups/GS_'+element+'.php?type='+element, 'GelbeSeiten', "width=800,height=748,left=0,top=0,scrollbars=yes");
		break;
		
		case 'inserat':
		var popup = window.open('../inserate/GS_inseratseite_print.php', 'GelbeSeiten', "width=658,height=590,left=100,top=150,scrollbars=yes");
		break;
		
		case 'ergebnis':
		var popup = window.open('../ergebnisliste/GS_ergebnisliste_print.php', 'GelbeSeiten', "width=658,height=590,left=100,top=150,scrollbars=yes");
		break;
		
		case 'merkzettel':
		var popup = window.open('../global/g_merkzettel_print.php', 'GelbeSeiten', "width=658,height=590,left=100,top=150,scrollbars=yes");
		break;
		
	}
	popup.focus;
}

function adjustWindow(x,y)
{
 	window.resizeTo(x,y);
}

function openLink(link)
{
	window.location.href="ht";
}
var mapSuggestOffsetTop = 0;
var mapSuggestViewport = 0;
var global_start = 0;
var global_offset = 0;

//Kartensuggest Begin
function  initMapSuggest(){   
     var firstTimeOpen = true;
    
    if(ge('suggest_town').className.indexOf('enable')==-1 || $('#suggest_town li').size()<1){
        return;
    }
    else{
         ge('where_search').focus();
         $('#suggest_preview #mapSuggestResults').html($('#suggest_town li').size());
         $('#suggest_preview').show();
        
    
        $('#where_search').keydown(function(event){
                openSuggest = "suggest_town";               
               if(event.keyCode != 13 && event.keyCode != 37 && event.keyCode != 38 && event.keyCode != 39&& event.keyCode!=40){
                      
               }
               else if(event.keyCode == 13 || event.keyCode == 37 || event.keyCode == 38 || event.keyCode == 39|| event.keyCode==40) {
                    if($('#suggest_town').css("display")=="none"){
			initAndShowMapSuggest();
                     }
                        handleArrow(event.keyCode);
                        scrollIfNeccessary(event.keyCode);
               }
        });    
    }
    
    $('form').submit(function(){    	
          if(openSuggest!=""){ 
               return false;
          } 
           else {
               openSuggest = "";
               ge('globalform').submit();
           }   
    }); 
}

function initAndShowMapSuggest(){
	showMapSuggest();
        temp = getPageCoords('suggest_what_tag_0');
        mapSuggestOffsetTop = temp.y -15;
        mapSuggestViewport = $('#suggest_town div.scroll_container').height();
}

function checkMapSuggestScroller(){
     if($('#suggest_town .scroll_content').height()>$('#suggest_town .scroll_container').height()){
           var spaceToScroll_01 = $('#suggest_town .scroll_content').height()-$('#suggest_town div.scroll_container').height();
           ge('scroll_indicator_suggest_town').style.top = "1px"; 
           var t1 = $('#suggest_town div.scroll_content');
           $('#suggest_town div.scroll_slider_container').Slider({
                   accept : '.scroll_indicator',
                   onSlide : function( cordx, cordy, x , y){                     
                       t1.css("top",-spaceToScroll_01 * cordy / 100 + 'px');                                 
                   }
               }
           );
           $('#suggest_town div.scroll_slider_container').show();
           $('#suggest_town .filter_arrow').show();
      }
      else{
        $('#suggest_town div.scroll_slider_container').hide();
        $('#suggest_town .filter_arrow').hide();
        $('#suggest_town div.scroll_container').css('height',$('#suggest_town .scroll_content').height()+"px");
      }
}

function scrollUpMapSuggest(height2scroll){
    var topSteps = 0;
    if(height2scroll!=""){
        topSteps = 8;
     }
     else{
        topSteps = 4;
    }
    if(parseInt(ge('scroll_indicator_suggest_town').style.top.replace(/px$/,"")) >0){
        var top = parseInt(ge('scroll_indicator_suggest_town').style.top.replace(/px$/,"")) -4;
        ge('scroll_indicator_suggest_town').style.top = top+"px";
        var offset =  (parseInt(ge('scroll_indicator_suggest_town').style.top.replace(/px$/,""))*(($('#suggest_town div.scroll_content').height()-$('#suggest_town div.scroll_container').height())/120));
        var offset = Math.round(offset);
        $('#suggest_town div.scroll_content').css("top", -offset+"px");
        if(height2scroll==""){    
            if(!scrollUpInterrupt){
                window.setTimeout(function(){scrollUpMapSuggest(0);},50);
            }
        }
        else{
                global_offset = offset;
                
                if(offset >= global_start -height2scroll ){
                   scrollUpMapSuggest(height2scroll);
            }
        }
        $('#suggest_town div.scroll_slider_container').height();
     }
}


function scrollDownMapSuggest(height2scroll){
    var topSteps = 0;
    if(height2scroll!=""){
        topSteps = 8;
     }
     else{
        topSteps = 4;
    }
    if(parseInt(ge('scroll_indicator_suggest_town').style.top.replace(/px$/,"")) < $('#suggest_town div.scroll_slider_container').height()-86){
        var top = parseInt(ge('scroll_indicator_suggest_town').style.top.replace(/px$/,"")) +topSteps;
        ge('scroll_indicator_suggest_town').style.top = top+"px";
        var offset =  (parseInt(ge('scroll_indicator_suggest_town').style.top.replace(/px$/,""))*(($('#suggest_town div.scroll_content').height()-$('#suggest_town div.scroll_container').height())/120));
        var offset = Math.round(offset);
       $('#suggest_town div.scroll_content').css("top", -offset+"px");
	    if(height2scroll==""){    
	        if(!scrollDownInterrupt){
	            window.setTimeout(function(){scrollDownMapSuggest(0);},50);
	        }
	    }
	    else{
	            global_offset = offset;
	            if(offset <= global_start +height2scroll){
	                scrollDownMapSuggest(height2scroll);
	            }
	    }
        $('#suggest_town div.scroll_slider_container').height();
     }
}
var currentMapSearchItem = 0;
function saveMapSearchEntry(id){
    currentMapSearchItem = id.substring(id.lastIndexOf('_')+1,id.length);
    
}

function showMapSuggest(){
	//ausgewaehltes Item festellen
	$('#suggest_town_list li').each(function(){
	    if(this.firstChild.id.substring(this.firstChild.id.lastIndexOf('_')+1,this.firstChild.id.length)==currentMapSearchItem){
	        this.firstChild.style.fontWeight = "bold";
	    }
	    else{
	        this.firstChild.style.fontWeight = "normal";
	    }
	});
	
	ge('where_search').focus(); // Damit die Pfeilnavi auch beim Mouseclick funktioniert.
	$('#suggest_preview').hide();
	$('#suggest_town').css({"visibility":"hidden","display":"block"}); //hack, damit die Hoehe schon vorher gelesen werden kann.
	checkMapSuggestScroller();
	$('#suggest_town').css("visibility","visible");
	$('#suggest_town').bgiframe().show();
	 openSuggest = "suggest_town";
}

function hideMapSuggest(){
    $('#suggest_town').hide();
    $('#suggest_preview').show();
    openSuggest = "";
}

function scrollIfNeccessary(keyCode){
    if($('#suggest_town_list .hover').size()<1)return;
    var temp = getPageCoords($('#suggest_town_list .hover').attr('id'));    
    var yPosCurrentItem = temp.y;
    //console.debug(yPosCurrentItem-mapSuggestOffsetTop,mapSuggestViewport);
    if(keyCode==40 && yPosCurrentItem-mapSuggestOffsetTop+40>mapSuggestViewport){
        global_start = global_offset;
        global_offset =0 ;
        if($.browser.msie)
            height = $('#suggest_town_list .hover').height();
        else
            height = parseInt($('#suggest_town_list .hover').css('height').replace(/px$/,""));
        scrollDownMapSuggest(height);
    }
    else if(keyCode==38 && yPosCurrentItem-mapSuggestOffsetTop<50){
         global_start = global_offset;
        global_offset =0 ;
        if($.browser.msie)
            height = $('#suggest_town_list .hover').height();
        else
            height = parseInt($('#suggest_town_list .hover').css('height').replace(/px$/,""));
        scrollUpMapSuggest(height+1);
    }
}
//Kartensuggest End
