name = "hauptfenster";



function openwin(verweis) {

  fenster = open(verweis,"Shopinfo","toolbar=no,scrollbars=yes,location=no,status=no,menubar=no,height=450,width=430");

}

function picwin(verweis) {

  fenster = open(verweis,"Detail","toolbar=no,scrollbars=yes,location=no,status=no,menubar=no,height=450,width=450");

}

function infowin(verweis) {

  fenster = open(verweis,"Detail","toolbar=no,scrollbars=yes,location=no,status=no,menubar=no,height=450,width=560,resizable=yes");

}

function wk_check( form) {

    if( maxAusfuehrungen > 0) {

      for( i = 0; i < maxAusfuehrungen; i++)   {

         valField = eval("form.wkausf"+i+".value");

         if( valField == "xxnoinputxx" || valField == "xxnoinputxx2" || valField == "")  {

             //            alert( shoptext_19);

            return false;

         }

      }

    }

    return true;

}











function feld_not_ok(feld,msg) {

  alert(msg);

  feld.select();

   feld.focus();

}

function format_float(float){

  

  var fix_stellen = (format_float.arguments.length>1)?format_float.arguments[1]:false;

  

  if(fix_stellen){

      float = runde(float,fix_stellen);

  }else{

      float = parseFloat(float);

      float *=100;

      float = Math.round(float);

      float /= 100;

  }

  return format_float_nicely(float);

}



function format_price(price){

    var nachkomma;

    if(format_price.arguments[1])

        nachkomma = format_price.arguments[1];

    else if(get_setup('kommastellen')!='')

        nachkomma =  get_setup('kommastellen');  

    else

        nachkomma = 2;

    

    price = runde(price,nachkomma);

    return format_float_nicely(price);

}



function format_float_nicely(float){

    

    var str_dez_trenner = (get_setup('dezimaltrenner')!='')?get_setup('dezimaltrenner'):'Komma';

    var dez_trenner,tausend_trenner;

    

    if(str_dez_trenner == 'Komma'){

        dez_trenner = ',';

        tausend_trenner = '.';   

    }else{

        dez_trenner = '.';

        tausend_trenner = ',';

    }

    

    var str =  new String(float);  

    var tmp = str.split(".");

    var vorkomma = tmp[0];

    var nachkomma = tmp[1];

    

    //tausender

    var n = vorkomma;

    var a = [];

	while(n.length > 3){

		var nn = n.substr(n.length-3);

		a.unshift(nn);

		n = n.substr(0,n.length-3);

	}

	if(n.length > 0) { a.unshift(n); }

	var betrag = a.join(tausend_trenner);

    if(typeof(nachkomma) != 'undefined' && nachkomma!=''){

        betrag += dez_trenner + nachkomma;   

    }

    return betrag;

}





function get_setup(key){

    if( typeof(global_js_setup) == 'undefined' )return '';

    if( typeof(global_js_setup[key]) == 'undefined' )return '';

    return global_js_setup[key];

    

}



function runde(x, n) {

    if (n < 1 || n > 14) return false;

    var e = Math.pow(10, n);

    var k = (Math.round(x * e) / e).toString();

    if (k.indexOf('.') == -1) k += '.';

    k += e.toString().substring(1);

    return k.substring(0, k.indexOf('.') + n+1);

}



function toggle_zahlart(za_id)  {

    top.za_id = za_id;

    if (el('bankdaten_tabelle')) {

	if ((zahlart_kennung[za_id] != "Einzug") && (zahlart_kennung[za_id] != "Sofortueberweisung"))

	    el('bankdaten_tabelle').style.display = 'none';

        else

	    el('bankdaten_tabelle').style.display = 'inline';

    }

    if (el('kkdaten_tabelle')) {

	if ((zahlart_kennung[za_id] != "Kreditkarte") && (zahlart_kennung[za_id] != "CC-Bank"))

	    el('kkdaten_tabelle').style.display = 'none';

        else

	{

	    el('kkdaten_tabelle').style.display = 'inline';

	    if ((zahlart_namen[za_id].search(/visa/ig) >= 0) || ((zahlart_namen[za_id].search(/master/ig) >= 0) && (zahlart_namen[za_id].search(/card/ig) >= 0)))

	    {

		el('best_kknummer_block1').style.width = "40px";

		el('best_kknummer_block2').style.display = "inline";

		el('best_kknummer_block3').style.display = "inline";

		el('best_kknummer_block4').style.display = "inline";

	    }

	    else

	    {

		el('best_kknummer_block1').style.width = "175px";

		el('best_kknummer_block2').style.display = "none";

		el('best_kknummer_block3').style.display = "none";

		el('best_kknummer_block4').style.display = "none";

	    }

	}

    }



    //Zusatzinfos zur Zahlung:

    var zusatzInfoCont =  el('za_zusatzinfo');

    if(registeredZAInfo[zahlart_kennung[za_id]]){

          zusatzInfoCont.innerHTML =  registeredZAInfo[zahlart_kennung[za_id]];

    }else{

         zusatzInfoCont.innerHTML = '';

    }

}

function toggle_versandart(va_id) {

    for (i=0; i < zahlart_namen.length; i++) {

	if (va_id && zahlart_namen[i]) {

	    key = (100 * i) + Math.floor(va_id);

	    if (el('zahlart_'+i)) {

		if (zahl_versand_kombi[key] == true)

		    el('zahlart_'+i).style.display='inline';

		else

		    el('zahlart_'+i).style.display='none';

	    }

	}

    }

}



/*erm�glicht mehrfaches, voneinander unabh�ngiges Setzen von onload-Handlern */



function addLoadEvent(func) {

  var oldonload = window.onload;

  if (typeof window.onload != 'function') {

    window.onload = func;

  } else {

    window.onload = function() {

      if (oldonload) {

        oldonload();

      }

      func();

    }

  }

}



/*wrapper um document.getElementById

    aufruf � la: el('preisanzeige').innerHTML='xxx'; */

function el(id){

    return document.getElementById(id);

}



function changePicQuicktime () {

    document.getElementById("quicktime").style.display = 'inline';

    document.getElementById("quicktime_icon").style.display = 'none';

    if( document.getElementById("flash"))

      document.getElementById("flash").style.display = 'none';

    if( document.getElementById("flash_icon"))

      document.getElementById("flash_icon").style.display = 'inline';

    if( document.getElementById("flashzoomer"))

      document.getElementById("flashzoomer").style.display = 'none';

    if( document.getElementById("flashzoomer_icon"))

      document.getElementById("flashzoomer_icon").style.display = 'inline';



    document.getElementById("hbildcontainer").style.display = 'none';

    if (document.getElementById("hbildsmall"))

      document.getElementById("hbildsmall").style.display = 'inline';

    if( document.getElementById("hauptbild_icon"))

      document.getElementById("hauptbild_icon").style.display = 'inline';

}



function changePicFlash () {

    document.getElementById("flash").style.display = 'inline';

    document.getElementById("flash_icon").style.display = 'none';

    if( document.getElementById("flashzoomer"))

      document.getElementById("flashzoomer").style.display = 'none';

    if( document.getElementById("flashzoomer_icon"))

      document.getElementById("flashzoomer_icon").style.display = 'inline';

    if( document.getElementById("quicktime"))

      document.getElementById("quicktime").style.display = 'none';

    if( document.getElementById("quicktime_icon"))

      document.getElementById("quicktime_icon").style.display = 'inline';



    document.getElementById("hbildcontainer").style.display = 'none';

    if (document.getElementById("hbildsmall"))

      document.getElementById("hbildsmall").style.display = 'inline';

    if( document.getElementById("hauptbild_icon"))

      document.getElementById("hauptbild_icon").style.display = 'inline';

}



function changePicFlashZoomer () {

    document.getElementById("flashzoomer").style.display = 'inline';

    document.getElementById("flashzoomer_icon").style.display = 'none';



    if( document.getElementById("quicktime"))

      document.getElementById("quicktime").style.display = 'none';

    if( document.getElementById("quicktime_icon"))

      document.getElementById("quicktime_icon").style.display = 'inline';

    if( document.getElementById("flash"))

      document.getElementById("flash").style.display = 'none';

    if( document.getElementById("flash_icon"))

      document.getElementById("flash_icon").style.display = 'inline';



    document.getElementById("hbildcontainer").style.display = 'none';

    if (document.getElementById("hbildsmall"))

      document.getElementById("hbildsmall").style.display = 'inline';

    if( document.getElementById("hauptbild_icon"))

      document.getElementById("hauptbild_icon").style.display = 'inline';

}



function open_newsletter(form){

  var email = form.email.value

  if(!email || email==form.email.defaultValue ) return false;

  f_url = "";

  f_name= "newsletter";

  f_props = "left=500,top=300,width=200,height=200,resizable=yes";

  f = open(f_url,f_name,f_props);

  f.focus();

  return true;

}





var bundeslaender_definition = {};

function toggleBLandDropdown(land_select,bland_sel_name){



    var sel_land = land_select.options[land_select.selectedIndex].value;



    //das JS-Array bundeslaender_definition muss auf der seite definiert sein

    var bundeslaender = bundeslaender_definition[sel_land];



    var bland_select =    el(bland_sel_name);

    //var bland_container = el(bland_sel_name + '_container');

    var bland_container = jQuery('#'+bland_sel_name + '_container');

    if(bundeslaender){

        //bland_container.style.display = 'table-row';

        bland_container.show();

        formLib_setOptions(bland_select,formLib_getOptionHashFromArray(bundeslaender));

    }else{

        //bland_container.style.display = 'none';

        bland_container.hide();

    }



}



function validate_email(e) { // Email Validation. Written by PerlScriptsJavaScripts.com

  ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";



  for(i=0; i < e.length ;i++){

    if(ok.indexOf(e.charAt(i))<0){ 

      return (false);

    }	

  } 



  if (document.images) {

    re = /(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/;

    re_two = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,8}|[0-9]{1,3})(\]?)$/;

    if (!e.match(re) && e.match(re_two)) {

      return (-1);		

    } 

  }

}



function open_layer_view_extern (url,breite,hoehe) {

    ajax_layer_extern(url,breite,hoehe);
    _open_layer_view();
    return true;

}

function open_layer_view (url) {

    if (ajax_layer(url)) {

        _open_layer_view();

        return false;

    }

    return true;

}



function _open_layer_view(){

    el('black_overlay').style.display='inline';

    el('layer_view').style.display='inline';   

}



function close_layer_view () {


    el('black_overlay').style.display='none';
    el('layer_view').style.display='none';
    el('layer_view_container').innerHTML = '';
    // iframe reload
    var t = el('partnershop');
    if(t) {
        var src = t.src;
        var width= t.width;
        var height= t.height;
        jQuery('#partnershop').remove();
        jQuery('#partnershop').empty();
        jQuery('#partnershopwarenkorb').empty();
        jQuery('#partnershopwarenkorb').append(jQuery('<iframe>')
            .attr('src',src)
            .attr('id','partnershop')
            .attr('name','partnershop')
            .attr('width',width)
            .attr('height',height)
            .attr('frameborder','0')
            .attr('onload','checksize();')
            );
    }
}



function ajax_layer_extern (url,breite,hoehe){         

    var html_code="<iframe id=puiframe src='"+url+"' width="+breite+" height="+hoehe+" frameborder=0 scrolling=no></iframe>";
    if (el('layer_view_container'))
        el('layer_view_container').innerHTML = html_code;
    
    //url = url.replace(/lshop\.cgi/, "lshopAJAX.cgi");
    //try{
    //    req = new XMLHttpRequest();
    //    req.open("GET", url, true);
    //}
    //catch (e){
    //    try{
    //        req = new ActiveXObject("Msxml2.XMLHTTP");
    //        req.open("GET", url, true);
    //    } 
    //    catch (e){
    //        try{
    //            req = new ActiveXObject("Microsoft.XMLHTTP");
    //            req.open("GET", url, true);
    //        } 
    //        catch (failed){
    //            req = null;
    //        }
    //    }  
    //}
    //if (req == null)
    //    return false;
    //
    //req.onreadystatechange = handle_ajax_layer;
    //req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    //req.send(null);
    return true;

}

function ajax_layer (url){         

    url = url.replace(/lshop\.cgi/, "lshopAJAX.cgi");

    try{

        req = new XMLHttpRequest();

        req.open("GET", url, true);

    }

    catch (e){

        try{

            req = new ActiveXObject("Msxml2.XMLHTTP");

            req.open("GET", url, true);

        } 

        catch (e){

            try{

                req = new ActiveXObject("Microsoft.XMLHTTP");

                req.open("GET", url, true);

            } 

            catch (failed){

                req = null;

            }

        }  

    }

    if (req == null)

        return false;

    req.onreadystatechange = handle_ajax_layer;

    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    req.send(null);

    return true;

}



function handle_ajax_layer () {

    switch(req.readyState) {

    case 4:

        if (req.status == 0)

            break;

        if(req.status!=200) {

           //             alert("Fehler:"+req.status); 

        } else {

            xml = req.responseXML;

            var html_code = xml.getElementsByTagName("html")[0].firstChild.nodeValue;

            var init_code = xml.getElementsByTagName("init")[0].firstChild.nodeValue;

            if (el('layer_view_container'))

                el('layer_view_container').innerHTML = html_code;

            if (init_code.length > 0)

                eval(init_code);

        }

        break;

    default:

        return false;

        break;     

    }

}



function vkr_toggle_land (id) {

    js_land = id;

}



function vkr_toggle_zahlart (id) {

    js_zahlart = id;

}



function vkr_toggle_versandart (id) {

    js_versandart = id;

}



function vk_rechner () {

    var alle_versandarten = new Array();

    var alle_zahlarten = new Array();

    for (i = 0; i < land_versandarten.length; i++) {

        if (land_versandarten[i]) {

            var temp_versandarten = land_versandarten[i].split(/\,/);

            for (j = 0; j < temp_versandarten.length; j++)

                alle_versandarten[temp_versandarten[j]] = temp_versandarten[j]; 

        }

    }        

    for (i = 0; i < land_zahlarten.length; i++) {

        if (land_zahlarten[i]) {

            var temp_zahlarten = land_zahlarten[i].split(/\,/);

            for (j = 0; j < temp_zahlarten.length; j++)

                alle_zahlarten[temp_zahlarten[j]] = temp_zahlarten[j]; 

        }

    }        

    

    var this_versandarten = land_versandarten[js_land].split(/\,/);

    var this_zahlarten = land_zahlarten[js_land].split(/\,/);

    for (i = 0; i < alle_versandarten.length; i++) {

        if (alle_versandarten[i]) {

            gefunden = false;

            for (j = 0; j < this_versandarten.length; j++) {

                if (alle_versandarten[i] == this_versandarten[j]) 

                    gefunden = true;

            }

            if (gefunden) {

                var key = (100 * Math.abs(js_zahlart)) + Math.abs(+alle_versandarten[i]);

                if (zahl_versand_kombi[key]) {

                    if (el('vkr_versandart_label_'+alle_versandarten[i]))

                        el('vkr_versandart_label_'+alle_versandarten[i]).style.color = 'black';

                } else {

                    if (el('vkr_versandart_label_'+alle_versandarten[i]))

                        el('vkr_versandart_label_'+alle_versandarten[i]).style.color = 'red';

                }

                if (el('vkr_versandart_radio_'+alle_versandarten[i]))

                    el('vkr_versandart_radio_'+alle_versandarten[i]).disabled = false;

            } else {

                if (el('vkr_versandart_label_'+alle_versandarten[i]))

                    el('vkr_versandart_label_'+alle_versandarten[i]).style.color = '#AAAAAA';

                if (el('vkr_versandart_radio_'+alle_versandarten[i]))

                    el('vkr_versandart_radio_'+alle_versandarten[i]).disabled = true;

            }

        }

    }

    for (i = 0; i < alle_zahlarten.length; i++) {

        if (alle_zahlarten[i]) {

            gefunden = false;

            for (j = 0; j < this_zahlarten.length; j++) {

                if (alle_zahlarten[i] == this_zahlarten[j])

                    gefunden = true;

            }

            if (gefunden) {

                var key = (100 * Math.abs(alle_zahlarten[i])) + Math.abs(+js_versandart);

                if (zahl_versand_kombi[key]) {

                    if (el('vkr_zahlart_label_'+alle_zahlarten[i]))

                        el('vkr_zahlart_label_'+alle_zahlarten[i]).style.color = 'black';

                } else {

                    if (el('vkr_zahlart_label_'+alle_zahlarten[i]))

                        el('vkr_zahlart_label_'+alle_zahlarten[i]).style.color = 'red';

                }

                if (el('vkr_zahlart_radio_'+alle_zahlarten[i]))

                    el('vkr_zahlart_radio_'+alle_zahlarten[i]).disabled = false;

            } else {

                if (el('vkr_zahlart_label_'+alle_zahlarten[i]))

                    el('vkr_zahlart_label_'+alle_zahlarten[i]).style.color = '#999999';

                if (el('vkr_zahlart_radio_'+alle_zahlarten[i]))

                    el('vkr_zahlart_radio_'+alle_zahlarten[i]).disabled = true;

            }

        }

    }

    var key = (100 * Math.abs(js_zahlart)) + Math.abs(js_versandart);

    var gesamt = '---';

    if ((el('vkr_zahlart_radio_'+js_zahlart).disabled == false) && (el('vkr_versandart_radio_'+js_versandart).disabled == false) && (zahl_versand_kombi[key])) {

        this_zahlungskosten = 1 * kosten_zahlart[js_zahlart];

        this_vkfrei = 1 * land_vk_frei[js_land];

        this_versandkosten = (1 * kosten_versandart[js_versandart]) + (1 * kosten_land[js_land]);

        if ((this_vkfrei > 0) && ((1 * warenwert) >= this_vkfrei))

            this_versandkosten = 0;

        el('js_zahlungskosten').innerHTML = waehrung+' '+format_price(this_zahlungskosten);

        if (this_vkfrei == 0) {

            if (el('js_vkfrei'))

                el('js_vkfrei').innerHTML = '---';

        } else {

            if (el('js_vkfrei'))

                el('js_vkfrei').innerHTML = waehrung+' '+format_price(this_vkfrei);

        }

        el('js_versandkosten').innerHTML = waehrung+' '+format_price(this_versandkosten);

        el('js_gesamt').innerHTML = waehrung+' '+format_price(this_zahlungskosten + this_versandkosten + (1 * warenwert));

    } else {

        el('js_zahlungskosten').innerHTML = '---';

        if (el('js_vkfrei'))

            el('js_vkfrei').innerHTML = '---';

        el('js_versandkosten').innerHTML = '---';

        el('js_gesamt').innerHTML = '---';

    }

}



function toggle_versand (id) {

    for (i = 0; i < versandarten.length; i++) {

        var box = el('boxinfo_versandart_'+versandarten[i]);

        if (box) {

            if (versandarten[i] == id)

                box.style.display = 'inline';

            else

                box.style.display = 'none';

        }

    }

    var erlaubte_zahlarten = zahlarten_kombi[id].split(/\,/);

    for (i = 0; i < zahlarten.length; i++) {

        var radio = el('best_zahlart_'+zahlarten[i]);

        var label = el('zahlart_label_'+zahlarten[i]);

        if (radio) {

            var erlaubt = false;

            for (j = 0; j < erlaubte_zahlarten.length; j++)

                if (zahlarten[i] == erlaubte_zahlarten[j])

                    erlaubt = true;

            if (erlaubt) {

                radio.disabled = false;

                if (label)

                    label.style.color = 'black';

                //                    label.style.fontWeight = 'bold';

            } else {

                radio.disabled = true;

                radio.checked = false;

                if (label)

                    label.style.color = '#888888';

                //                    label.style.fontWeight = 'normal';

            }

        }

        

    }    

}



function toggle_zahlung (id) {

    for (i = 0; i < zahlarten.length; i++) {

        var box = el('boxinfo_zahlart_'+zahlarten[i]);

        if (box) {

            if (zahlarten[i] == id)

                box.style.display = 'inline';

            else

                box.style.display = 'none';

        }

    }

    var checkbox = el('telecash_checkbox');

    if (checkbox) {

        if (zahlart_kennungen && (zahlart_kennungen[id] == 'telecashipg_Bankeinzug' || zahlart_kennungen[id] == 'Telecash_Bankeinzug'))

            checkbox.style.display = 'inline';

        else

            checkbox.style.display = 'none';

    }

    var checkbox2 = el('billpay_checkbox');

    if (checkbox2) {

        if (zahlart_kennungen && ((zahlart_kennungen[id] == 'billpay') || (zahlart_kennungen[id] == 'billpay_lastschrift')))

            checkbox2.style.display = 'inline';

        else

            checkbox2.style.display = 'none';

    }

}





function js_debug(data){

    var k;

    var str = '';

    if(typeof(data) == 'object'){

        for (k in data){

            str += k+':'+data[k]+"\n";   

        }

    }else{

       str = data;    

    }

    if("console" in window && "firebug" in window.console){

        console.log(str);

    }else{

        alert(str);

    }

}



function blz_check (url, field) {

    var val = field.value;

    var val_neu = val.replace(/[^\d]/g, '');

    if (val != val_neu)

        field.value = val_neu;

    if (val_neu.length == 8) {

        el('bankname_fehler').style.display = 'none';

        el('bankname_fehler2').style.display = 'none';

        ajax_layer(url+val_neu);

    }

    if (val_neu.length < 8) {

        el('bankname').innerHTML = "";

        el('bankname_info').style.display = 'inline';

        el('bankname_fehler').style.display = 'none';

        el('bankname_fehler2').style.display = 'none';

    }

    if (val_neu.length > 8) {

        el('bankname').innerHTML = "";

        el('bankname_info').style.display = 'none';

        el('bankname_fehler').style.display = 'none';

        el('bankname_fehler2').style.display = 'inline';

    }

}



function check_autocompleter_cache (cache, term, limit) {

    if ( term in cache ) {

        return cache[term];

    }

    while(term.length > 0) {

        term = term.substr(0, term.length - 1);

        if ((term in cache) && cache[term].length < limit) 

            return cache[term];

    }



    return false;

}



function autocompleter_highlight (liste_org, term) {

    var liste = new Array();

    var searchstring = new RegExp('('+term+')', 'ig');    

    var count = 0;

    for (var i = 0; i < liste_org.length; i++) 

        if (liste_org[i].label.match(searchstring))

            count++;

    for (var i = 0; i < liste_org.length; i++) {

        var klon = new Array();

        if ((liste_org[i].value == '[headline]') || (liste_org[i].value == '[headline2]')) {

            if ((count == 0) && (liste_org[i].value == '[headline2]')) {

                klon.label = liste_org[i].label;

                klon.value = liste_org[i].value;

                liste.push(klon);

            }

            if ((count > 0) && (liste_org[i].value == '[headline]')) {

                klon.label = liste_org[i].label;

                klon.value = liste_org[i].value;

                liste.push(klon);

            }

        }

        else 

            if (liste_org[i].label.match(searchstring)) {

                klon.label = liste_org[i].label.replace(searchstring, "<b>$1</b>");

                klon.value = liste_org[i].value;

                liste.push(klon);

            }

    }

    return liste;

}



function artikelsuche_autocompleter (url, div, limit, min_chars) {

    var artikelsuche_cache = {}, lastXhr;

    jQuery.ui.autocomplete.prototype._renderItem = function( ul, item) {

        var fragmente = item.label.split("|");



        if ((item.value == '[headline]') || (item.value == '[headline2]')) {

            var my_css_class = 'sPlusSuggest_intro_treffer';

            if ((item.value == '[headline2]'))

                my_css_class = 'sPlusSuggest_intro_keine_treffer';

            return jQuery( "<li></li>" )

            .data( "item.autocomplete", item )

            .append( "<div class="+my_css_class+">" +  item.label + "</div>" )

            .appendTo( ul );

        } else if (fragmente.length > 1) {

            return jQuery( "<li></li>" )

            .data( "item.autocomplete", item )

            .append( "<a><div class=autocomplete_zeile><div class=autocomplete_left>"+fragmente[0]+"</div><div class=autocomplete_right>"+fragmente[1]+"</div></div></a>" )

            //            .append( "<a><div style='float: left'>"+fragmente[0]+"</div><div style='float:right; margin-left:20px'>"+fragmente[1]+"</div><div style='clear: both'></div></a>" )

            .appendTo( ul );

            

        } else {

            return jQuery( "<li></li>" )

            .data( "item.autocomplete", item )

            .append( "<a><nobr>" +  item.label + "</nobr></a>" )

            .appendTo( ul );

        }

    };   

    jQuery(div)

        .autocomplete({

                delay: 100,

                    minLength: min_chars,

                    source: function( request, response ) {

                    var term = request.term;

                    var cacheobjekt = check_autocompleter_cache(artikelsuche_cache, term, limit);

                    if (cacheobjekt) {

                        response( autocompleter_highlight(cacheobjekt, term));

                        return;

                    }

                    lastXhr = jQuery.getJSON( url , request, function( data, status, xhr ) {

                            artikelsuche_cache[ term ] = data;

                            if ( xhr === lastXhr ) {

                                response( autocompleter_highlight(data, term) );

                            }

                        });

                }

            });

    

}
