// JavaScript Document
var focused = false;
var include_path  = '/mydata3/';

function neufenster2(filename,caption,width,height){
    var neuesfenster2;

    if(typeof(width)=='undefined') {
        height = 750;
        width  = 550;
    }

    neuesfenster2 = window.open(filename, caption, "width=" + width + ",height=" + height + ",scrollbars=yes,resizable=yes");
    neuesfenster2.focus();
}

function neufenster(filename) {
    Hilfefenster = window.open(filename, "Hilfefenster", "width=700,height=500,scrollbars");
    Hilfefenster.focus();
}

function fensteroeffnen(ziel){
    neuesfenster = open(ziel);
}

function check_boxes(box_name,to_check) {
    var boxes = document.getElementsByName(box_name);

    for(var i = 0; i < boxes.length; i++) {
        try {
            if(to_check == true) {
                boxes[i].checked = true;
            }
            else {
                boxes[i].checked = false;
            }
        } catch(error) {
            change_err_field('checkboxes: '+error);
        }
    }
}

function check_boxes_by_class(class_name,to_check) {
    try {
        if(to_check == true) {
            $("."+class_name+"").each(function()
            {
                this.checked = true;
            });
        }
        else {
            $("."+class_name+"").each(function()
            {
                this.checked = false;
            });
        }
    } catch(error) {
        change_err_field('checkboxes: '+error);
    }
}

function check_select(obj, select_name) {
    var select = document.getElementsByName(select_name);

    for(var i = 0; i < select.length; i++) {
        try {
            select[i].selectedIndex = obj.selectedIndex;
        } catch(error) {
            change_err_field('selectboxes: '+error);
        }
    }
}

function hide_show_box(boxname) {
    if(document.getElementById(boxname).style.display == "block") {
        document.getElementById(boxname).style.display = 'none';
        return 'invisible';
    }
    else {
        document.getElementById(boxname).style.display = 'block';
        return 'visible';
    }
}

function fehler_zeigen(fehler,text) {
    switch(fehler) {
        case "1":
            alert ("Fehler: Das Kennwort war nicht in beiden Feldern identisch.");

                case "2":
            alert ("Fehler: Ein Kunde mit dieser ID ist schon vorhanden.");

                case "3":
            alert ("Fehler: Sie haben keine Kunden ID angegeben.");

                case "4":
            alert (text);
    }
}

function artikel_entf(link,text){
    var entscheid = confirm (text);
    if (entscheid == true)
         parent.location.href = link;
}

function open_window_with_size(url,script,height,width) {
    window.open(url, script, "height=" + height + ",width=" + width + ",scrollbars=yes,resizable=yes");
}

function OpenWindow(url,script,pipeid) {
     var width  = 800;
         height = 700;

     fenster = window.open(url + "?pipeid=" + pipeid, script, "width=" + width + ",height=" + height + ",scrollbars=yes,resizable=yes");
}

function OpenWindow2(url,script,pipeid,parameter) {
     var width  = 800;
         height = 700;

     fenster = window.open(url + "?pipeid=" + pipeid + parameter, script, "width=" + width + ",height=" + height + ",scrollbars=yes,resizable=yes");
}

function toggle_display(objectname,span_to_change) {
    if(document.getElementById(objectname).style.display == 'none') {
        document.getElementById(objectname).style.display = 'block';
        if(span_to_change != null) {
            document.getElementById(span_to_change).innerHTML = '( - )';
        }
    }
    else {
        document.getElementById(objectname).style.display = 'none';
        if(span_to_change != null) {
            document.getElementById(span_to_change).innerHTML = '( + )';
        }
    }
}

function disable_field(obj,value,disablefield) {
    if(obj.options[obj.selectedIndex].value == value) {
        disable = false;
    }
    else {
        document.getElementById(disablefield).value = '';
        disable = true;
    }

    document.getElementById(disablefield).disabled = disable;
}

function disable_url(selectfield,value,disablefield) {
    if(document.getElementById(selectfield).options[document.getElementById(selectfield).selectedIndex].value == value) {
        document.getElementById(disablefield).style.visibility = 'visible';
    }
    else {
        document.getElementById(disablefield).value = '';
        document.getElementById(disablefield).style.visibility = 'collapse';
    }
}


function delete_div(parent_id,child_id,data,script,text) {
    var parent = document.getElementById(parent_id);
    var child  = document.getElementById(child_id);

    if(confirm(text)==true) {
        send_html_request('get',script,data);
        parent.removeChild(child);
    }
}

function delete_tr(obj,tblname,typ,script,data,text) {
    var num_tr = obj.parentNode.parentNode.sectionRowIndex;

    if(confirm(text)==true) {
        send_html_request(typ,script,data);
        document.getElementById(tblname).tBodies[0].deleteRow(num_tr);
    }
}

function gruppenzuordnung(obj, spanfrom, spanto, table, script, data, deletetxt) {
    //Index der Tabellenzeile
    var num_tr = obj.parentNode.parentNode.sectionRowIndex;

    if(spanfrom == '0' || table == 'favoriten') {
        var cnt_from = parseInt(document.getElementById('cnt_art_gr_'+spanfrom).innerHTML);
    }

    //Loeschen
    if(spanto == 'delete') {
        if(confirm(deletetxt) == true) {
            send_html_request('get', script, data+'&aktion=delete');
            if(spanfrom == '0' || table == 'favoriten') {
                //Anzahl der Elemente in der Gruppe verringern
                document.getElementById('cnt_art_gr_'+spanfrom).innerHTML = cnt_from-1;
            }
            //Tabellenzeile loeschen
            document.getElementById(table).tBodies[0].deleteRow(num_tr);
            //Bei der Favoritentabelle muessen zwei Tabellenzeilen geloescht werden
            if(table == 'favoriten') {
                document.getElementById(table).tBodies[0].deleteRow(num_tr);
            }
        }
    }

    //Verschieben
    else {
        send_html_request('get', script, data+'&aktion=move&grp_id='+obj.options[obj.selectedIndex].value+'&grp_id_old='+spanfrom);

        //Die beiden Gruppen sollten sich unterscheiden ;)
        if(spanfrom != spanto ) {
            if(spanfrom == '0' || table == 'favoriten') {
                var cnt_to = parseInt(document.getElementById('cnt_art_gr_'+spanto).innerHTML);
                //Anzahl der Elemente in der Gruppe verringern
                document.getElementById('cnt_art_gr_'+spanfrom).innerHTML = cnt_from-1;
                //Anzahl der Elemente in der Gruppe erhoehen
                document.getElementById('cnt_art_gr_'+spanto).innerHTML = cnt_to+1;
            }
            //Tabellenzeile loeschen
            document.getElementById(table).tBodies[0].deleteRow(num_tr);
            //Bei der Favoritentabelle muessen zwei Tabellenzeilen geloescht werden
            if(table == 'favoriten') {
                document.getElementById(table).tBodies[0].deleteRow(num_tr);
            }
        }
    }
}

function spaw_sprachen(error_id,msg_txt,alert_txt,data) {
    var pta = spaw1_obj.getPageInput(spaw1_obj.getActivePage().name);
    pta.value = data[0].replace(/(&amp;|\?)sid=([^&]+)/g, '');
    document.getElementById('spaw2').value = data[0].replace(/(&amp;|\?)sid=([^&]+)/g, '');
    document.getElementById('headline').value = data[1].replace(/(&amp;|\?)sid=([^&]+)/g, '');
    spaw1_obj.updatePageDoc(spaw1_obj.getActivePage());
}

function spaw_boxtyp(obj) {
    if (obj.options[obj.selectedIndex].value == '5') {
        document.getElementById('spaweditor').style.display = 'none';
        document.getElementById('anzeigeneditor').style.display = 'block';
        document.getElementById('anzeigenlink').style.display = 'block';
        document.getElementById('liboxstyle').style.display = 'none';
    }
    else {
        document.getElementById('spaweditor').style.display = 'block';
        document.getElementById('anzeigeneditor').style.display = 'none';
        document.getElementById('anzeigenlink').style.display = 'none';
        document.getElementById('liboxstyle').style.display = 'block';
    }
}

function artikeldaten_bearbeiten(error_id,msg_txt,alert_txt,data) {
    var pta = spaw1_obj.getPageInput(spaw1_obj.getActivePage().name);
    pta.value = data[0];
    spaw1_obj.updatePageDoc(spaw1_obj.getActivePage());
    document.getElementById('artbez1').value = data[1];
}

function edit_grp_click(obj, grpnr, sid) {
    if (focused==false) {
        inhalt = obj.innerHTML;
        obj.innerHTML = '<input type="text" value="'+inhalt+'" id="edit_grp_'+grpnr+'" onblur="edit_grp_blur('+grpnr+', this.value, \''+sid+'\');" />';
        document.getElementById('edit_grp_'+grpnr).focus();
        focused=true;
    }
}

function edit_grp_blur(grpnr, grpbes, sid) {
    document.getElementById('td_edit_grp_'+grpnr).innerHTML = grpbes;
    send_html_request('get', include_path+'kunde/favoriten_ajax.php', 'sid='+sid+'&aktion=edit_grp&grp_id='+grpnr+'&grp_bes='+encodeURIComponent(escape(grpbes)));
    focused=false;
}

function reload_page() {
    var cur_location = window.location.toString();

    if (cur_location.indexOf('.html') < 0) {
      var separator = '&sid'
    }
    else {
      var separator = '?sid'
    }

    if (cur_location.indexOf('sid=') < 0) {
        var new_location = cur_location.toString()+separator+'='+document.getElementById('cur_sid').value;
        window.location  = new_location;
    }
    else if (cur_location.indexOf('&old_sid=') > 0) {
        var new_location = cur_location.replace(/&old_sid=([a-z0-9]{26})/, "")+separator+'='+document.getElementById('cur_sid').value;
        window.location  = new_location;
    }
    else {
        window.location.reload(true);
    }
}

function change_lang(sid,lang) {
   var data = 'sid='+sid+'&lang='+lang;
   send_html_request('post',include_path+'kunde/change_lang.php',data,'reload_page');
}

function get_form_fields(form_id,script,jsfunction,params) {
    //Laenge des Formulars (Wieviele Felder haben wir)
    var num_child = document.forms[form_id].elements.length;
    var data = '';
    var sel_data = '';
    var sep  = '';

    for(var i = 0; i < num_child; i++) {
        if(i > 0)
            sep = '&';
        if(typeof(document.forms[form_id].elements[i].name) != 'undefined' && document.forms[form_id].elements[i].name != '') {
            if(document.forms[form_id].elements[i].type=='select-multiple') {
                for(var sel_element = 0; sel_element < document.forms[form_id].elements[i].options.length; sel_element++) {
                    if(document.forms[form_id].elements[i].options[sel_element].selected) {
                        data += sep+
                            document.forms[form_id].elements[i].name+'='+
                            encodeURIComponent(escape(document.forms[form_id].elements[i].options[sel_element].value));
                    }
                }
            }
            else if(document.forms[form_id].elements[i].type=='checkbox') {
                if(document.forms[form_id].elements[i].checked) {
                    var check_value = 1;
                }
                else {
                    var check_value = 0;
                }
                data += sep+
                        document.forms[form_id].elements[i].name+'='+check_value;
            }
            else {
                //Wenn ein & vorkommt und es ein &amp; ist, dann brauchen wir den String nicht escapen, andernfalls wird der String immer escaped
                if(document.forms[form_id].elements[i].value.indexOf('&') > 0 && document.forms[form_id].elements[i].value.indexOf('&amp;') > 0) {
                    var value = document.forms[form_id].elements[i].value;
                }
                else {
                    var value = document.forms[form_id].elements[i].value.replace(/\&/,"%26");
                }

                data += sep+
                        document.forms[form_id].elements[i].name+'='+value;
            }
        }
    }

    try {
         if(jsfunction == 'return_the_data') {
            return data;
         }
         else if(jsfunction != "" && jsfunction != null) {
            ajax_switch(jsfunction,'','','',data,params,'');
         }
         else {
            send_html_request('post',script,data);
         }
    }
    catch(error) {
        change_err_field('form_fields: '+error);
    }
}

var xml_module = [
    function () {return new XMLHttpRequest()},
    function () {return new ActiveXObject("Microsoft.XMLHTTP")},
    function () {return new ActiveXObject("Msxml6.XMLHTTP")},
    function () {return new ActiveXObject("Msxml2.XMLHTTP")},
    function () {return new ActiveXObject("Msxml3.XMLHTTP")},
    function () {return new ActiveXObject("Msxml4.XMLHTTP")}
];
var http_request  = null;
//Die brauchen wir, damit wir send_html_request mit einem setTimeout aufrufen koennen
var glob_cache    = new Array();
//Welche Funktion aufgerufen werden soll
var call_function = null;
//Die gesendeten Daten
var send_data     = null;

function send_html_request(typ,script,data,funktion) {
    //Wenn wir noch kein http-Objekt haben
    if(!http_request) {
        for (var i=0;i<xml_module.length;i++) {
            try {
                http_request = xml_module[i]();
            }
            catch (error) {
                continue;
            }
            break;
        }
    }

    if(typeof(script) != 'undefined') {
        glob_cache.push(typ+'|'+script+'|'+data+'|'+funktion);
    }

    if(http_request && glob_cache.length > 0 && (http_request.readyState == 4 || http_request.readyState == 0)) {
        try {
            var send_html_params_array = glob_cache.shift().split('|');
            var local_typ    = send_html_params_array[0];
            var local_script = send_html_params_array[1];
            send_data        = send_html_params_array[2];
            call_function    = send_html_params_array[3];

            if(local_typ=='get') {
                send_data = local_script + (send_data ? '?' + send_data : '' );
                http_request.open('GET', send_data, true);
            }
            else {
                http_request.open('POST', local_script, true);
                http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                http_request.setRequestHeader("Content-length", send_data.length);
            }

            http_request.onreadystatechange = readystatechange;
            http_request.send(send_data);
        }
        catch(e) {
            change_err_field(e);
        }
    }
    else if(http_request.readyState != 4 && http_request.readyState != 0 && glob_cache.length > 0){
        setTimeout("send_html_request();",300);
    }
    return true;
}


function readystatechange() {
    //Variablendeklaration
    var response_txt  = ''
    var error_id      = 0;
    var msg_txt       = '';
    var alert_txt     = '';
    var data_response = new Array();

    if(http_request.readyState == 4) {
        if(http_request.responseXML) {
            var server_answer = http_request.responseXML;

            try {
                if(typeof(server_answer.getElementsByTagName("error_id")) != 'undefined' && server_answer.getElementsByTagName("error_id")[0] != null && server_answer.getElementsByTagName("error_id")[0].hasChildNodes()) {
                    error_id = server_answer.getElementsByTagName("error_id")[0].firstChild.nodeValue;
                }
                if(typeof(server_answer.getElementsByTagName("msg_txt")) != 'undefined' && server_answer.getElementsByTagName("msg_txt")[0] != null && server_answer.getElementsByTagName("msg_txt")[0].hasChildNodes()) {
                    msg_txt = server_answer.getElementsByTagName("msg_txt")[0].firstChild.nodeValue;
                    response_txt = msg_txt;
                }
                if(typeof(server_answer.getElementsByTagName("alert_txt")) != 'undefined' && server_answer.getElementsByTagName("alert_txt")[0] != null && server_answer.getElementsByTagName("alert_txt")[0].hasChildNodes()) {
                    alert_txt = server_answer.getElementsByTagName("alert_txt")[0].firstChild.nodeValue;
                }
                if(typeof(server_answer.getElementsByTagName("data")) != 'undefined' && server_answer.getElementsByTagName("data")[0] != null && server_answer.getElementsByTagName("data")[0].hasChildNodes()) {
                    for (var i = 0; i < server_answer.getElementsByTagName("data")[0].childNodes.length; i++) {
                        if(server_answer.getElementsByTagName("data")[0].childNodes[i].firstChild) {
                            data_response[i] = server_answer.getElementsByTagName("data")[0].childNodes[i].firstChild.nodeValue;
                        }
                    }
                }

                if (typeof(call_function)!='undefined' && call_function != 'undefined') {
                    ajax_switch(call_function,error_id,msg_txt,alert_txt,data_response,server_answer,send_data);
                }
            }
            catch(error) {
                response_txt = error;
            }
        }
        else {
            response_txt = http_request.responseText;
        }

        if(response_txt != '' && response_txt != ' ' && response_txt != "no_text" && error_id != 15) {
            show_msg_in_global_popup(' ', response_txt, 1500);
        }
    }
}


function ajax_switch(funktion,error_id,msg_txt,alert_txt,data,xml,orig_data) {
    switch(funktion) {
        case "spaw_sprachen": spaw_sprachen(error_id,msg_txt,alert_txt,data);
        break;

        case "artikeldaten_bearbeiten": artikeldaten_bearbeiten(error_id,msg_txt,alert_txt,data);
        break;

        case "katalog_validieren": katalog_validieren(error_id,msg_txt,alert_txt,data);
        break;

        case "katalog_freigeben": katalog_freigeben(error_id,msg_txt,alert_txt,data);
        break;

        case "faktor_aendern": faktor_aendern(error_id,msg_txt,alert_txt,data);
        break;

        case "gueltigkeit_aendern": gueltigkeit_aendern(error_id,msg_txt,alert_txt,data);
        break;

        case "vergleichskondition": vergleichskondition(error_id);
        break;

        case "create_psp1": create_psp1(xml,orig_data);
        break;

        case "create_basket_list": create_basket_list(xml);
        break;

        case "reload_sender_address": reload_sender_address(xml);
        break;

        case "load_address_to_edit": load_address_to_edit(xml,orig_data);
        break;

        case "load_address_to_edit_user_data": load_address_to_edit_user_data(xml,orig_data);
        break;

        case "load_oci_fields_to_edit": load_oci_fields_to_edit(xml,orig_data);
        break;

        case "reload_addresses": reload_addresses(xml,orig_data);
        break;

        case "reload_addresses_user_data": reload_addresses_user_data(xml,orig_data);
        break;

        case "reload_oci_fields": reload_oci_fields(xml,orig_data);
        break;

        case "create_address_from_xml": create_address_from_xml(xml);
        break;

        case "change_user_data": change_user_data(data,xml);
        break;

        case "create_basket_from_xml": create_basket_from_xml(xml,orig_data);
        break;

        case "get_lang": get_lang(orig_data,1,xml);
        break;

        case "inc_pos": inc_pos(msg_txt,xml);
        break;

        case "change_err_field": change_err_field(msg_txt);
        break;

        case "katalogprofile": katalogprofile(error_id,msg_txt,alert_txt,data);
        break;

        case "add_art_to_basket": add_art_to_basket(xml,data,1);
        break;

        case "get_error_msg_from_xml": get_error_msg_from_xml(xml);
        break;

        case "reload_oci_order": reload_oci_order(xml);
        break;

        case "help_sprachen": help_sprachen(error_id,msg_txt,alert_txt,data);
        break;

        case "reload_page": reload_page();
        break;

        case "akt_user_rights_msg": akt_user_rights_msg(data);
        break;

        case "akt_user_rights_request": akt_user_rights_request(data,xml);
        break;

        case "akt_user_rights": akt_user_rights(xml);
        break;

        case "impcon_save": impcon_save(data);
        break;

        case "redirect_to_order_ack": redirect_to_order_ack(xml);
        break;

        case "get_txt_nr": get_txt_nr(xml);
        break;

        case "check_error_in_basket": check_error_in_basket(xml);
        break;

        case "reload_addresses_from_xml": reload_addresses_from_xml(xml);
        break;

        case "get_hst_merkmale": get_hst_merkmale(error_id,msg_txt,alert_txt,data);
        break;

        case "eclass6_merkmale": eclass6_merkmale(error_id,msg_txt,alert_txt,data);
        break;

        case "removeFormField": removeFormField(error_id,msg_txt,data);
        break;

        case "aktualisiereLieferRechnungsAdresse": aktualisiereLieferRechnungsAdresse(error_id,msg_txt,data);
        break;

        default: alert('Funktion: "'+funktion+'" wurde nicht gefunden');
    }
}

function DokumenteVorschau(obj, pipeid, mehrtxt) {
    document.getElementById('vorschau').style.display='block';

    //Wenn boxstyle kein SELECT-Field ist, dann ist boxtyp auch keines
    if(document.getElementById('boxstyle').nodeName == 'SELECT') {
        var boxstyle = document.getElementById('boxstyle').options[document.getElementById('boxstyle').selectedIndex].value;
        var boxtyp   = document.getElementById('boxtyp').options[document.getElementById('boxtyp').selectedIndex].value;
    }
    else {
        var boxstyle = document.getElementById('boxstyle').value;
        var boxtyp   = document.getElementById('boxtyp').value;
    }

    var vorschauinhalt = document.getElementById('vorschau-inhalt');
    var spanvorschauinhalt = document.getElementById('span-vorschau-inhalt');
    var headline = document.getElementById('headline').value;
    var spaw2 = document.getElementById('spaw2').value;
    var linknr = document.getElementById('linknr').value;

    if(boxtyp == 1) {
        vorschauinhalt.style.width='251px';
        vorschauinhalt.style.height='157px';
        vorschauinhalt.style.border='1px solid #000000';
        vorschauinhalt.style.overflow='hidden';
    }
    else if(boxtyp == 2) {
        vorschauinhalt.style.width='518px';
        vorschauinhalt.style.height='157px';
        vorschauinhalt.style.border='1px solid #000000';
        vorschauinhalt.style.overflow='hidden';
    }
    else if(boxtyp == 3) {
        vorschauinhalt.style.width='251px';
        vorschauinhalt.style.height='330px';
        vorschauinhalt.style.border='1px solid #000000';
        vorschauinhalt.style.overflow='hidden';
    }
    else if(boxtyp == 4) {
        vorschauinhalt.style.width='100%';
        vorschauinhalt.style.height='100%';
        vorschauinhalt.style.border='0px';
        vorschauinhalt.style.overflow='auto';
    }
    else if(boxtyp == 5) {
        vorschauinhalt.style.width='251px';
        vorschauinhalt.style.height='157px';
        vorschauinhalt.style.border='1px solid #000000';
        vorschauinhalt.style.overflow='hidden';
    }

    var pta = spaw1_obj.getPageInput(spaw1_obj.getActivePage().name);
    var spaw_html = spaw1_obj.getPageHtml(spaw1_obj.getActivePage());

    if(boxtyp == 5) {
    var inhalt = '<div class="headline1"><h1>'+headline+'</h1></div><span class="content1">'+spaw2.replace(/mydatapipeid/g, pipeid);
    if (linknr != '-') {
      inhalt += '<a class="linkstyle1" href="http://www.catalogus.de/mydata3/kunde/index_new.php?pipeid='+pipeid+'&amp;sc_id=419&amp;docnr='+linknr+'">'+mehrtxt+'</a>';
    }
    inhalt += '</span>';
    spanvorschauinhalt.innerHTML=inhalt;
    }
    else if(boxtyp == 4) {
    spanvorschauinhalt.innerHTML='<div class="balken"><span>'+headline+'</span></div><span>'+spaw_html.replace(/mydatapipeid/g, pipeid)+'</span>';
    }
    else if(boxstyle == 1) {
    spanvorschauinhalt.innerHTML='<div class="headline1"><h1>'+headline+'</h1></div><span class="content1">'+spaw_html.replace(/mydatapipeid/g, pipeid)+'</span>';
    }
    else if(boxstyle == 2) {
    spanvorschauinhalt.innerHTML='<div class="headline2"><h1>'+headline+'</h1></div><span class="content2">'+spaw_html.replace(/mydatapipeid/g, pipeid)+'</span>';
    }

    pta.value = spaw_html;
    spaw1_obj.updatePageDoc(spaw1_obj.getActivePage());
}

function more_details(data, visible, obj, data2, pipeid, sid) {
  if (typeof(data2)=="undefined") {
    data2='';
  }
  if (typeof(sid)!="undefined") {
    sid2='&sid='+sid;
  }

  send_html_request('post',include_path+'kunde/toggle_box.php','pipeid='+pipeid+'&box='+data+'&toggle_view='+visible+sid2);

  visible = !visible;
  if (visible == true) {
    obj.firstChild.data=data2+'(+)';
    obj.onclick=function() { more_details(data, visible, this, data2, pipeid, sid); return false; }
    document.getElementById(data).style.display='none';
  }
  else {
    obj.firstChild.data=data2+'(-)';
    obj.onclick=function() { more_details(data, visible, this, data2, pipeid, sid); return false; }
    document.getElementById(data).style.display='block';
  }
}

function show_details (data, visible, obj) {
  if (visible == true) {
    visible = false;
    obj.firstChild.data='(-)';
    obj.onclick=function() { show_details(data, visible, this); return false; }
    document.getElementById(data).style.display='';
  }
  else {
    visible = true;
    obj.firstChild.data='(+)';
    obj.onclick=function() { show_details(data, visible, this); return false; }
    document.getElementById(data).style.display='none';
  }
}

function katalogeinstellungen (sid, katalogversion, katalogaktion, hstnr, hacc) {
    if(katalogversion != '') {
        switch(katalogaktion) {
            case '1':
                window.open(include_path+'administrator/kat_new.php3?hacc='+hacc+'&sid='+sid+'&hstnr='+hstnr+'&tab='+katalogversion, 'Veroeffentlichen', 'width=800, height=600,scrollbars=yes,resizable=yes');
                break;
            case '2':
                window.location.href=include_path+'kunde/index_new.php?hacc='+hacc+'&sid='+sid+'&sc_id=424&hstnr='+hstnr+'&tabnr='+katalogversion;
                break;
            case '3':
                document.getElementById('preisbasis' + hstnr).style.display='none';
                document.getElementById('gueltigkeit' + hstnr).style.display='block';
                document.getElementById('gueltigkeitab' + hstnr).value = document.getElementById('gulab' + hstnr + katalogversion).innerHTML;
                document.getElementById('gueltigkeitbis' + hstnr).value = document.getElementById('gulbis' + hstnr + katalogversion).innerHTML;
                break;
            case '4':
                document.getElementById('gueltigkeit' + hstnr).style.display='none';
                document.getElementById('preisbasis' + hstnr).style.display='block';
                document.getElementById('faktor' + hstnr).value = document.getElementById('faktor' + hstnr + katalogversion).innerHTML;
                break;
            case '5':
                window.location.href=include_path+'kunde/index_new.php?hacc='+hacc+'&sid='+sid+'&sc_id=431&hstnr='+hstnr+'&tabnr='+katalogversion;
                break;
            case '6':
                document.getElementById('gueltigkeit' + hstnr).style.display='none';
                document.getElementById('preisbasis' + hstnr).style.display='none';
                send_html_request('get', include_path+'administrator/katalogeinstellungen_ajax.php', 'sid='+sid+'&hstnr='+hstnr+'&tabnr='+katalogversion+'&aktion='+katalogaktion, 'katalog_validieren');
                break;
            case '7':
                document.getElementById('gueltigkeit' + hstnr).style.display='none';
                document.getElementById('preisbasis' + hstnr).style.display='none';
                send_html_request('get', include_path+'administrator/katalogeinstellungen_ajax.php', 'sid='+sid+'&hstnr='+hstnr+'&tabnr='+katalogversion+'&aktion='+katalogaktion, 'katalog_freigeben');
                break;
            case '8':
                window.location.href=include_path+'kunde/index_new.php?hacc='+hacc+'&sid='+sid+'&sc_id=432&hstnr='+hstnr+'&tabnr='+katalogversion;
                break;
            case '10':
                document.getElementById('gueltigkeit' + hstnr).style.display='none';
                document.getElementById('preisbasis' + hstnr).style.display='none';
                window.open(include_path+'administrator/validator1.php3?hacc='+hacc+'&sid='+sid+'&hstnr='+hstnr+'&tab='+katalogversion, 'Validator', 'width=800, height=600,scrollbars=yes,resizable=yes');
                break;
        }
    }
}

function katalog_validieren (error_id,msg_txt,alert_txt,data) {
    if(error_id == 0) {
        document.getElementById('validiert' + data[0] + data[1]).innerHTML='Ja';
    }
}

function katalog_freigeben (error_id,msg_txt,alert_txt,data) {
    if(error_id == 0) {
        document.getElementById('freigabe' + data[0] + data[1]).innerHTML='Ja';
    }
}

function faktor_aendern (error_id,msg_txt,alert_txt,data) {
    if(error_id == 0) {
        document.getElementById('faktor' + data[0] + data[1]).innerHTML=data[2];
        document.getElementById('preisbasis' + data[0]).style.display='none';
    }
}

function gueltigkeit_aendern (error_id,msg_txt,alert_txt,data) {
    if(error_id == 0) {
        document.getElementById('gulab' + data[0] + data[1]).innerHTML=data[2];
        document.getElementById('gulbis' + data[0] + data[1]).innerHTML=data[3];
        document.getElementById('gueltigkeit' + data[0]).style.display='none';
    }
}

function vergleichskondition (error_id) {
    if(error_id == 0) {
        window.location.reload();
    }
}

function fire_msg_txt() {
    document.getElementById("error_msg").style.display = "block";
    setTimeout(function hide_element() { document.getElementById("error_msg").style.display = "none" }, 5000);
}

function inc_pos(msg_txt,xml) {
    //var test = (new XMLSerializer()).serializeToString(xml);
    //Internet Explorer
    //var test = xml.xml;
    //alert(test);
    if(xml.getElementsByTagName("error_id")[0].firstChild.nodeValue == 0) {
        var pos = document.getElementById("anzPos").innerHTML;
        pos++;
        document.getElementById('anzPos').innerHTML=pos;
    }
}

function change_err_field(msg_txt) {
    if (msg_txt != "no_text") {
        //Mache die MSG-Box sichtbar
        document.getElementById("error_msg").innerHTML = '<span style="font-weight: bold;">'+msg_txt+'</span>';
        fire_msg_txt();
    }
}

function add_art_to_basket(f_menge,data,akt_basket) {
   var menge=document.getElementsByName(f_menge)[0].value;
   if(akt_basket == 1)
        js_function = 'check_error_in_basket';
   else
        js_function = 'inc_pos';

   send_html_request('post', include_path+'kunde/basket_manage.php', data+'&menge='+menge+'&akt='+akt_basket,js_function);
}

function check_error_in_basket(xml) {
    //Nur wenn alles OK ist, leiten wir um
    if(xml.getElementsByTagName("error_id")[0].firstChild.nodeValue == 0 || xml.getElementsByTagName("error_id")[0].firstChild.nodeValue == 1
    || xml.getElementsByTagName("error_id")[0].firstChild.nodeValue == 13) {
        create_basket_from_xml(xml);
    }
    else {
        document.location.href = '#basket_box';
        show_msg_in_global_popup(' ', xml.getElementsByTagName("msg_txt")[0].firstChild.nodeValue, 1500);
        extract_error_mark_field(xml);
    }
}

function change_art_in_basket(f_type,f_menge,obj,data,conf_txt) {
   if(f_type == 2) {
     var menge = document.getElementById('menge_' + f_menge).value;
     var change_data = data + '&nr=' + f_menge + '&menge=' + menge + '&type=2';
     send_html_request('post', include_path+'kunde/basket_manage.php', change_data, 'check_error_in_basket');
   }
   else {
     var delete_art = data + '&nr=' + f_menge + '&type=3';

     if(confirm(conf_txt)==true) {
           send_html_request('post', include_path+'kunde/basket_manage.php', delete_art, 'check_error_in_basket');
     }
   }
}

function cur_format(wert, format) {
    var i = parseFloat(wert);
    if(isNaN(i)) { i = 0.00; }
    var minus = '';
    if(i < 0) { minus = '-'; }
    i = Math.abs(i);
    i = parseInt((i + .005) * 100);
    i = i / 100;
    s = new String(i);
    if(s.indexOf('.') < 0) { s += '.00'; }
    if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
    s = minus + s;
    var a = [];
    while(s.length > 3) {
         var nn = s.substr(s.length-3);
         a.unshift(nn);
         s = s.substr(0,s.length-3);
    }
    if(s.length > 0) { a.unshift(s); }
    s = a.join('_');
    if(format == 1) {
        s = s.replace(/(\.)/g,",");
        s = s.replace(/(_)/g,".");
        s = s.replace(/(\.,)/,",");
    }
    else if (format == 2) {
        s = s.replace(/(_\.)/,".");
        s = s.replace(/(_)/g,",");
    }
    return s;
}

function put_psp_together() {
    var complete_psp = '';

    try {
        var psp1 = document.getElementById('psp1').options[document.getElementById('psp1').selectedIndex].value;
        var psp2 = document.getElementById('psp2').options[document.getElementById('psp2').selectedIndex].value;
        var psp3 = document.getElementById('psp3').value;

        if(!isNaN(psp3) && psp3.toString().length < 4) {
            for(i=0; i < psp3.toString().length; i++) {
                psp3 = "0"+psp3;
            }
        }

        complete_psp = psp1+'-'+psp2+'.'+psp3;
    } catch(error) { change_err_field('psp: '+error); }

    return encodeURIComponent(escape(complete_psp));
}

function send_order(data) {
    var psp     = '';
    var auftrnr = '';
    var anspr   = '';
    var zahlungsweise = '';
    var agb = '';

    if(document.getElementById('zahlungsweise') != null) {
        zahlungsweise = '&zahlungsweise='+document.getElementById('zahlungsweise').options[document.getElementById('zahlungsweise').selectedIndex].value;
    }

    if(document.getElementById('auftrnr') != null) {
        auftrnr = '&auftrnr='+document.getElementById('auftrnr').value;
    }
    if(document.getElementById('anspr') != null) {
        anspr   = '&anspr='+document.getElementById('anspr').value;
    }

    if(document.getElementById('psp_edit') != null) {
        psp = '&psp='+document.getElementById('psp_edit').value;
    }
    else if(document.getElementById('psp1') != null){
        psp = '&psp='+put_psp_together();
    }

    if(document.getElementById('agb') != null) {
        agb = '&agb='+(document.getElementById('agb').checked ? 1 : 0);
    }

    var kostenst= '&kostenst='+(document.getElementById('kostenst') != null ? document.getElementById('kostenst').value : '');
    var notes   = get_all_notes();
    send_html_request('post', include_path+'kunde/basket_manage.php', data+auftrnr+anspr+psp+kostenst+notes+zahlungsweise+agb, 'redirect_to_order_ack');
}

function show_msg_in_notice_box(msg) {
    document.getElementById('notice_box').innerHTML = '<p><span>'+msg+'</span></p>'+
    '<p><input type="button" class="submit_button notice_box_button" onclick="javascript:toggle_notice_box()" value="OK" /></p>';
    toggle_notice_box();
}

function goto_order_ack() {
    var sid = document.getElementById('cur_sid').value;
    var hacc   = get_hacc();
    document.location.href = include_path+'kunde/index_new.php?hacc='+hacc+'&sid='+sid+'&sc_id=545'
}

function redirect_to_order_ack(xml) {
    //var text = (new XMLSerializer()).serializeToString(xml);
    //alert(text);
    //Nur wenn alles OK ist, leiten wir um
    if(xml.getElementsByTagName("error_id")[0].firstChild.nodeValue == 0) {
        setTimeout("goto_order_ack();",750);
    }
    else if(xml.getElementsByTagName("error_id")[0].firstChild.nodeValue == 15) {
        show_msg_in_global_popup(' ',xml.getElementsByTagName("msg_txt")[0].firstChild.nodeValue, 3000);
        setTimeout("goto_order_ack();",750);
    }
    else if(xml.getElementsByTagName("error_id")[0].firstChild.nodeValue == 99) {
        //Sparkassen Internetkasse
        var hacc = $("#cur_hacc").val();
        var sid = $("#cur_sid").val();

        location.href=include_path+'kunde/index_new.php?hacc='+hacc+'&sid='+sid+'&sc_id=582';
    }
    else {
        document.location.href = '#basket_box';
        show_msg_in_global_popup(' ', xml.getElementsByTagName("msg_txt")[0].firstChild.nodeValue, 0);
        extract_error_mark_field(xml);
    }
}

function iterate_trough_nodes(node) {
    var obj = new Object();
    if(node.hasChildNodes()) {
        for(var i=0; i < node.childNodes.length; i++) {
            if(node.childNodes[i].hasChildNodes()) {
                obj[node.childNodes[i].tagName] = node.childNodes[i].firstChild.nodeValue;
            }
        }
    }
    return obj;
}

function get_error_msg_from_xml(xml) {
    //var text = (new XMLSerializer()).serializeToString(xml);
    var ret_msg = xml.getElementsByTagName("return_msg")[0];

    if(ret_msg) {
        try {
            if(typeof(ret_msg.childNodes[0]) != 'undefined' && ret_msg.childNodes[0].hasChildNodes()) {
                if(ret_msg.childNodes[0].firstChild.hasChildNodes()) {
                    var error_id  = ret_msg.childNodes[0].childNodes[0].childNodes[0].nodeValue;
                    var error_msg = ret_msg.childNodes[0].childNodes[1].childNodes[0].nodeValue;
                    extract_error_mark_field(xml);
                }
                else {
                    var error_id  = ret_msg.childNodes[0].firstChild.nodeValue;
                    var error_msg = ret_msg.childNodes[1].firstChild.nodeValue;
                }
                show_msg_in_global_popup(' ', error_msg, 1500);
            }
        } catch (error) { change_err_field('error_msg: '+error); }
    }
}

function check_for_existing_empty_field(field_name,field_value) {
    if(document.getElementById(field_name)) {
        if(document.getElementById(field_name).nodeName == 'INPUT') {
            if(typeof(field_value) != 'undefined') {
                document.getElementById(field_name).value = field_value;
            } else {
                document.getElementById(field_name).value = '';
            }
        }
        else {
            if(typeof(field_value) != 'undefined') {
                document.getElementById(field_name).innerHTML = field_value;
            } else {
                document.getElementById(field_name).innerHTML = '';
            }
        }
        return true;
    }
    return false;
}

function reload_addresses_from_xml(xml) {
    get_error_msg_from_xml(xml);

    for(var parent=0; parent < xml.getElementsByTagName("address")[0].childNodes.length; parent++) {
        var parentnodename = xml.getElementsByTagName("address")[0].childNodes[parent].nodeName;

        if(parentnodename == 'from_address') {
            var field_prefix = 'abs';
        }
        else if(parentnodename == 'delivery_address') {
            var field_prefix = 'del';
        }
        else if(parentnodename == 'invoice_address') {
            var field_prefix = 'inv';
        }
        else {
            var field_prefix = false;
        }

        if(field_prefix) {
            var address = new Object(iterate_trough_nodes(xml.getElementsByTagName(parentnodename)[0]));

            check_for_existing_empty_field(field_prefix+'_name',address['name']);
            check_for_existing_empty_field(field_prefix+'_name2',address['name2']);
            check_for_existing_empty_field(field_prefix+'_zusatz',address['add_info']);
            check_for_existing_empty_field(field_prefix+'_strasse',address['street']);
            check_for_existing_empty_field(field_prefix+'_strasse2',address['street2']);
            check_for_existing_empty_field(field_prefix+'_plz',address['zip']);
            check_for_existing_empty_field(field_prefix+'_ort',address['city']);
            check_for_existing_empty_field(field_prefix+'_land',address['country']);
            check_for_existing_empty_field(field_prefix+'_tel',address['tel']);
            check_for_existing_empty_field(field_prefix+'_fax',address['fax']);
            check_for_existing_empty_field(field_prefix+'_email',address['email']);
        }
    }
}

//Lade die Liste der alternativen Lieferadressen neu
function reload_sender_address(xml) {
    //var text = (new XMLSerializer()).serializeToString(xml);
    //alert(text);
    get_error_msg_from_xml(xml);
    var address = new Object(iterate_trough_nodes(xml.getElementsByTagName("from_address")[0]));
    if(typeof(address["name"]) != 'undefined') {
        document.getElementById('abs_name').innerHTML = address["name"];
    }
    else {
        document.getElementById('abs_name').innerHTML = '';
    }
    if(typeof(address["name2"]) != 'undefined') {
        document.getElementById('abs_name2').innerHTML = address["name2"];
    }
    else {
        document.getElementById('abs_name2').innerHTML = '';
    }
    if(typeof(address["add_info"]) != 'undefined') {
        document.getElementById('abs_zusatz').innerHTML = address["add_info"];
    }
    else {
        document.getElementById('abs_zusatz').innerHTML = '';
    }
    if(typeof(address["street"]) != 'undefined') {
        document.getElementById('abs_strasse').innerHTML = address["street"];
    }
    else {
        document.getElementById('abs_strasse').innerHTML = '';
    }
    if(typeof(address["street2"]) != 'undefined') {
        document.getElementById('abs_strasse2').innerHTML = address["street2"];
    }
    else {
        document.getElementById('abs_strasse2').innerHTML = '';
    }
    if(typeof(address["zip"]) != 'undefined') {
        document.getElementById('abs_plz').innerHTML = address["zip"];
    }
    else {
        document.getElementById('abs_plz').innerHTML = '';
    }
    if(typeof(address["city"]) != 'undefined') {
        document.getElementById('abs_ort').innerHTML = address["city"];
    }
    else {
        document.getElementById('abs_ort').innerHTML = '';
    }
    if(typeof(address["country"]) != 'undefined') {
        document.getElementById('abs_land').innerHTML = address["country"];
    }
    else {
        document.getElementById('abs_land').innerHTML = '';
    }
    if(typeof(address["tel"]) != 'undefined') {
        document.getElementById('abs_tel').innerHTML = address["tel"];
    }
    else {
        document.getElementById('abs_tel').innerHTML = '';
    }
    if(typeof(address["fax"]) != 'undefined') {
        document.getElementById('abs_fax').innerHTML = address["fax"];
    }
    else {
        document.getElementById('abs_fax').innerHTML = '';
    }
    if(typeof(address["email"]) != 'undefined') {
        document.getElementById('abs_email').innerHTML = address["email"];
    }
    else {
        document.getElementById('abs_email').innerHTML = '';
    }
}

function change_alt_address() {
    var data = get_form_fields('alt_address_form','','return_the_data');
    send_html_request('post',include_path+'kunde/basket_manage.php',data,'reload_addresses');
}

//Lade die Liste der alternativen Lieferadressen neu
function reload_addresses(xml,data) {
    //var text = (new XMLSerializer()).serializeToString(xml);
    //alert(text);
    var sid = document.getElementById("cur_sid").value;

    var delivery_address = '';
    get_error_msg_from_xml(xml);
    var txt = get_lang(xml);
    //Welcher Adresstyp liegt uns vor?
    var address_type = xml.getElementsByTagName("address_type")[0].firstChild.nodeValue;

    if(address_type == 'invoice') {
        var element_name = 'alt_invoice_address';
        var list_to_reload = 'alt_inv_list';
        var box_to_toggle  = 'alt_rechnung_list';
        var span_name = 're';
    }
    else {
        var element_name = 'alt_delivery_address';
        var list_to_reload = 'alt_del_list';
        var box_to_toggle  = 'alt_liefer_list';
        var span_name = 'del';
    }

    if(xml.getElementsByTagName(element_name)[0]) {
        for(var i=0; i < xml.getElementsByTagName(element_name)[0].childNodes.length; i++) {
            var address = new Object(iterate_trough_nodes(xml.getElementsByTagName(element_name)[0].childNodes[i]));
            if(address['nr'] != 0) {
                delivery_address += '<li><a href="#" onclick="send_html_request(\'post\',\''+include_path+'kunde/basket_manage.php'+'\',\'sid='+sid+'&type=7&alt_nr='+address['nr']+'&address_type='+address_type+'&do=delete\',\'reload_addresses\'); return false;">'+txt[65995]+'</a>\n';
                delivery_address += '<a href="#" onclick="send_html_request(\'post\',\''+include_path+'kunde/basket_manage.php'+'\',\'sid='+sid+'&type=6&alt_nr='+address['nr']+'&address_type='+address_type+'\',\'load_address_to_edit\'); return false;">'+txt[65475]+'</a>\n';
                delivery_address += '<a href="#" onclick="send_html_request(\'post\',\''+include_path+'kunde/basket_manage.php'+'\',\'sid='+sid+'&type=7&alt_nr='+address['nr']+'&address_type='+address_type+'&do=use\',\'create_address_from_xml\'); toggle_display(\''+box_to_toggle+'\',\'change_'+span_name+'_address_span\'); return false;">'+txt[66113]+'</a>\n';
                delivery_address += '<span>' + (typeof(address['name']) != 'undefined' ? (address['name'].length > 20 ? address['name'].substr(0,20)+'...' : address['name']) : '') + (typeof(address['name2']) != 'undefined' ? ', ' + (address['name2'].length > 20 ? address['name2'].substr(0,20)+'...' : address['name2']) : '') + (typeof(address['add_info']) != 'undefined' ? ', ' + (address['add_info'].length > 20 ? address['add_info'].substr(0,20)+'...' : address['add_info']) : '') + (typeof(address['street']) != 'undefined' ? ', ' + (address['street'].length > 20 ? address['street'].substr(0,20)+'...' : address['street']) : '') + '</span></li>\n';
            }
        }
    }
    delivery_address += '<li><a href="#" onclick="send_html_request(\'post\',\''+include_path+'kunde/basket_manage.php'+'\',\'sid='+sid+'&type=6&alt_nr=0&address_type='+address_type+'\',\'load_address_to_edit\'); return false;">'+txt[66114]+'</a></li>';
    delivery_address += '<li class="close_address_popup"><a href="#" onclick="javascript:document.getElementById(\''+box_to_toggle+'\').style.display = \'none\'; return false;">'+txt[65943]+'</a></li>';

    if(xml.getElementsByTagName("error_id")[0].firstChild.nodeValue != 1) {
      document.getElementById(list_to_reload).innerHTML = delivery_address;
      create_address_from_xml(xml);
      toggle_display(box_to_toggle,'change_'+span_name+'_address_span');

      //Schliesse die Notice-Box
      document.getElementById('notice_box').innerHTML = '';
      if(data.indexOf('delete') < 1) {
          toggle_notice_box();
      }
    }
}

//Oeffne eine Lieferadresse zum editieren in der Notice-Box
//Alle Felder muessen doppelt gefuellt werden, weil wir immer ein Backup
//des notice_box-Inhalts speichern, weil diese ueberschrieben wird bei einer
//Fehlermeldung
function load_address_to_edit(xml,data) {
    var data_array = data.split('&');
    //text = (new XMLSerializer()).serializeToString(xml);
    //alert(text);
    //Leere alle Felder bevor wir sie wieder fuellen
    document.forms['new_address_form'].reset();

    //Welcher Adresstypliegt uns vor?
    var address_type = xml.getElementsByTagName("address_type")[0].firstChild.nodeValue

    if(address_type == 'invoice') {
        var element_num = 5;
        var cur_num = $("#used_invoice_address").val();
    }
    else {
        var element_num = 4;
        var cur_num = $("#used_delivery_address").val();
    }

    //Wenn die Box schon sichtbar ist, dann blende sie nicht aus
    if(document.getElementById('notice_box').className.indexOf('hidden') > 0) {
        show_address_box(address_type);
    }
    else {
        document.getElementsByName('address_type')[0].value = address_type;
        document.getElementsByName('address_type')[1].value = address_type;
    }

    //Als Default legen wir immer einen neuen Datensatz an
    document.getElementsByName('do')[0].value = 'new';
    document.getElementsByName('do')[1].value = 'new';

    //setze das nr-Feld auf die Adresse die wir gerade editieren
    document.getElementsByName('alt_nr')[0].value = data_array[2].substr(7);
    document.getElementsByName('alt_nr')[1].value = data_array[2].substr(7);

    if(cur_num == data_array[2].substr(7)) {
        $("#cur_nr").val(cur_num);
    }

    for(var i=0; i < xml.getElementsByTagName("address")[0].childNodes[element_num].childNodes.length; i++) {
        var cur_node = xml.getElementsByTagName("address")[0].childNodes[element_num].childNodes[i];

        //Wenn die Datensatznummer mit der gewuenschten uebereinstimmt
        if(cur_node.hasChildNodes() && cur_node.childNodes[0].firstChild.nodeValue == data_array[2].substr(7)) {
            //Wenn man nur Teile der Lieferanschrift aendern darf, dann handelt es sich trotzdem um einen neuen Eintrag
            //wenn die gewuenschte Nummer zum editieren 0 ist
            if(data_array[2].substr(7) != 0) {
                document.getElementsByName('do')[0].value = 'save';
                document.getElementsByName('do')[1].value = 'save';
            }
            else {
                document.getElementsByName('do')[0].value = 'new';
                document.getElementsByName('do')[1].value = 'new';
            }

            for(var alt_address_cnt = 0; alt_address_cnt < cur_node.childNodes.length; alt_address_cnt++){
                try {
                    try {
                        if(cur_node.childNodes[alt_address_cnt].getAttribute("edit") != 1) {
                            document.getElementsByName(cur_node.childNodes[alt_address_cnt].nodeName)[0].readOnly = true;
                            document.getElementsByName(cur_node.childNodes[alt_address_cnt].nodeName)[1].readOnly = true;
                            document.getElementsByName(cur_node.childNodes[alt_address_cnt].nodeName)[0].style.backgroundColor = '#B5B5B5';
                            document.getElementsByName(cur_node.childNodes[alt_address_cnt].nodeName)[1].style.backgroundColor = '#B5B5B5';
                        }
                        else {
                            document.getElementsByName(cur_node.childNodes[alt_address_cnt].nodeName)[0].readOnly = false;
                            document.getElementsByName(cur_node.childNodes[alt_address_cnt].nodeName)[1].readOnly = false;
                            document.getElementsByName(cur_node.childNodes[alt_address_cnt].nodeName)[0].style.backgroundColor = '#FFFFFF';
                            document.getElementsByName(cur_node.childNodes[alt_address_cnt].nodeName)[1].style.backgroundColor = '#FFFFFF';
                        }
                     } catch(attribute_error) { continue; }

                     document.getElementsByName(cur_node.childNodes[alt_address_cnt].nodeName)[0].value = cur_node.childNodes[alt_address_cnt].firstChild.nodeValue;
                     document.getElementsByName(cur_node.childNodes[alt_address_cnt].nodeName)[1].value = cur_node.childNodes[alt_address_cnt].firstChild.nodeValue;

                     if(alt_address == 'default_address' && address[alt_address] == 'ON') {
                         document.getElementsByName(cur_node.childNodes[alt_address_cnt].nodeName)[0].checked = true;
                         document.getElementsByName(cur_node.childNodes[alt_address_cnt].nodeName)[1].checked = true;
                     }
                } catch(error) { continue; }
            }
        }
    }
}

//Aktualisiere die Anzeige der Lieferadresse, wenn wir eine davon verwenden wollen
function create_address_from_xml(xml) {
    //Welcher Adresstyp liegt uns vor?
    var address_type = xml.getElementsByTagName("address_type")[0].firstChild.nodeValue
    //Gib bei Bedarf Fehler aus
    //var text = (new XMLSerializer()).serializeToString(xml);
    //Internet Explorer
    //var test = xml.xml;
    //alert(text);

    if(address_type == 'invoice') {
        var element_num = 3;
        var list_name = 'invoice_address';
    }
    else {
        var element_num = 2;
        var list_name = 'delivery_address';
    }

    //alternative Lieferadresse
    var address = new Object(iterate_trough_nodes(xml.getElementsByTagName("address")[0].childNodes[element_num]));
    var delivery_address = '';

    for(var attribute in address) {
        if(address[attribute] != null && attribute != 'nr' && attribute != 'zip' && attribute != 'city' && attribute != 'tel' && attribute != 'fax') {
            delivery_address += '<li>'+address[attribute]+'</li>\n';
        }
        else if(attribute == 'zip') {
            delivery_address += '<li>'+address['zip']+' '+address['city']+'</li>\n';
        }
        else if(attribute == 'nr') {
            if(list_name == 'delivery_address') {
                $("#used_delivery_address").val(address['nr']);
                $("#cur_nr").val(address['nr']);
            }
            else {
                $("#used_invoice_address").val(address['nr']);
                $("#cur_nr").val(address['nr']);
            }
        }
    }

    document.getElementById(list_name).innerHTML = delivery_address;
}

function change_address(objectName) {
    var sid = $("#cur_sid").val();
    $.ajax({
        type:"POST",
        url:include_path+"kunde/basket_manage.php",
        data:"sid="+sid+"&address_type=abs&type=7&"+objectName+'='+encodeURIComponent($('#'+objectName).val()),
        dataType:"xml"
    });
    check_for_del_address_change(objectName,$('#'+objectName).val());
}

function check_for_del_address_change(field,value) {
    //Wenn man die Lieferadresse aendern darf, dann existiert das Feld
    //change_alt_address_span
    if($("#used_delivery_address").length) {
        var field_parts = field.split('_');
        var field_name  = 'del_'+field_parts[1];
        document.getElementById(field_name).innerHTML = value;
    }
    //Wenn man die Rechnungsadresse aendern darf, dann existiert das Feld
    //change_re_address_span
    if($("#used_invoice_address").length) {
        var field_parts = field.split('_');
        var field_name  = 'inv_'+field_parts[1];
        document.getElementById(field_name).innerHTML = value;
    }
}

function show_address_box(alt_type) {
    //Setze den address_typ vor dem kopieren um
    document.getElementsByName('address_type')[0].value = alt_type;

    //Kopiere die Box nur, wenn sie nicht leer ist
    if(document.getElementById('new_address_box').innerHTML != '') {
        document.getElementById('notice_box').innerHTML = document.getElementById('new_address_box').innerHTML;
        //Fuer den Firefox ist das Formular das 2 Element, fuer den IE das erste
        if(document.getElementById('notice_box').childNodes[1]) {
            document.getElementById('notice_box').childNodes[1].setAttribute("id",'alt_address_form');
            document.getElementById('notice_box').childNodes[1].setAttribute("name",'alt_address_form');
        }
        else {
            document.getElementById('notice_box').childNodes[0].setAttribute("id",'alt_address_form');
            document.getElementById('notice_box').childNodes[0].setAttribute("name",'alt_address_form');
        }
    }
    toggle_notice_box();
}

function toggle_notice_box() {
    if(document.getElementById('notice_box').className.indexOf('hidden') > 0) {
        document.getElementById('notice_box').className = document.getElementById('notice_box').className.replace(/hidden/g,'visible');
    }
    else {
        document.getElementById('notice_box').className = document.getElementById('notice_box').className.replace(/visible/g,'hidden');
    }
}

function create_nice_border_box(boxname,link_name,span_name) {
    if(hide_show_box(boxname)=="visible") {
        document.getElementById(span_name).innerHTML = '( - )';
    }
    else{
        document.getElementById(span_name).innerHTML = '( + )';
    }
}

function submit_kostenst(data,obj) {
    //Wir blenden das edit-Feld entweder ein oder aus, je nachdem
    create_kostenst_edit(obj);

    if(obj.options[obj.selectedIndex].value != 'edit') {
        send_html_request('post', include_path+'kunde/basket_manage.php', data+'&kostenst='+encodeURIComponent(escape(obj.options[obj.selectedIndex].value))+'&stype=psp1', 'create_psp1');
    }
}

function create_kostenst_edit(obj) {
    if(obj.options[obj.selectedIndex].value == 'edit') {
        document.getElementById('kostenst').id = 'kostenst_select';
        document.getElementById('kostenst_edit').style.display = 'inline';
        document.getElementById('kostenst_edit').id = 'kostenst';
    }
    else if(document.getElementById('kostenst_select')) {
        document.getElementById('kostenst').style.display = 'none';
        document.getElementById('kostenst').id = 'kostenst_edit';
        document.getElementById('kostenst_select').id = 'kostenst';
    }
}

function request_basket_list() {
    var sid   = document.getElementById('cur_sid').value;

    //Aktualisere die Liste bei jedem Aufruf dieser Funktion
    send_html_request('post', include_path+'kunde/basket_manage.php', 'sid='+sid+'&type=12', 'create_basket_list');

    //Lasse alle select-Felder auf dieser Seite verschwinden, weil der IE damit Probleme hat
    if(document.getElementById('kostenst')) {
        if(document.getElementById('kostenst').style.display == 'none') {
            document.getElementById('kostenst').style.display = 'block';
        }
        else {
            document.getElementById('kostenst').style.display = 'none';
        }
    }
    if(document.getElementById('psp1')) {
        if(document.getElementById('psp1').style.display == 'none') {
            document.getElementById('psp1').style.display = 'block';
        }
        else {
            document.getElementById('psp1').style.display = 'none';
        }
    }

    if(document.getElementById('zahlungsweise')) {
        if(document.getElementById('zahlungsweise').style.display == 'none') {
            document.getElementById('zahlungsweise').style.display = 'inline';
        }
        else {
            document.getElementById('zahlungsweise').style.display = 'none';
        }
    }
}

function create_basket_list(xml) {
    var sid   = document.getElementById('cur_sid').value;
    var use_link = '';
    var inhalt   = '';
    var txt = get_lang(xml);

    for(i=0; i < xml.getElementsByTagName("baskets")[0].childNodes.length-1; i++) {
        var basket = new Object(iterate_trough_nodes(xml.getElementsByTagName("baskets")[0].childNodes[i]))

        if(typeof(basket['versanddatum']) != 'undefined' ||
            ((typeof(basket['customer']) == 'undefined' || basket['customer'] == '') && typeof(basket['banfdate']) != 'undefined' && basket['banfdate'] != '')) {
            ordernr_link = basket['ordernr'];

            if(typeof(basket['versanddatum']) == 'undefined')
                basket['versanddatum'] = '';
        }
        else {
            ordernr_link = '<a href="#" onclick="javascript:send_html_request(\'post\',\''+include_path+'kunde/basket_manage.php\',\'sid='+sid+'&ordernr='+basket['ordernr']+'&type=11&use=1&get_lang=1\',\'create_basket_from_xml\'); send_html_request(\'post\',\''+include_path+'kunde/basket_manage.php\',\'sid='+sid+'&type=6\',\'reload_addresses_from_xml\'); hide_show_box(\'parent_manage_basket_box\'); request_basket_list(); return false;">'+basket['ordernr']+'</a>';
            basket['versanddatum'] = '';
        }

        if(typeof(basket['orderid']) == 'undefined') {
            basket['orderid'] = '';
        }

        inhalt += '<div id="basket_list_entry_'+i+'" class="basket_list_entry">\n';
        inhalt += '\t<p class="parent_manage_basket_box_p" style="width: 20px;"><input type="button" class="universal_img_button" style="background-image: url(/images/delete.gif);" onclick="javascript:if(confirm(\''+txt[93557]+'\')) { send_html_request(\'post\', \''+include_path+'kunde/basket_manage.php\', \'sid='+sid+'&ordernr='+basket['ordernr']+'&type=11\', \'change_err_field\'); remove_child(\'basket_list_entry_'+i+'\'); }" value="&nbsp;" /></p>\n';
        inhalt += '\t<p class="parent_manage_basket_box_p" style="width: 20px;"><input type="button" class="universal_img_button" style="background-image: url(/images/magnify.gif);" onclick="parent.location.href = \''+include_path+'kunde/basket_manage.php?sid='+sid+'&ordernr='+basket['ordernr']+'&type=10\';" value="&nbsp;" /></a></p>\n';
        if(typeof(basket['customer']) != 'undefined' && basket['customer'] != '') {
            inhalt += '\t<p class="parent_manage_basket_box_p" style="width: 60px;">'+basket['customer']+'</p>\n';
        }
        inhalt += '\t<p class="parent_manage_basket_box_p" style="width: 60px;">'+ordernr_link+'</p>\n';
        inhalt += '\t<p class="parent_manage_basket_box_p" style="width: 100px;">'+basket['orderid']+'</p>\n';
        inhalt += '\t<p class="parent_manage_basket_box_p" style="width: 30px;">'+basket['cnt_pos']+'</p>\n';
        inhalt += '\t<p class="parent_manage_basket_box_p" style="width: 130px;">'+basket['create_date']+'</p>\n';
        if(xml.getElementsByTagName("baskets")[0].childNodes[i].childNodes[5] && typeof(basket['banfdate']) != 'undefined' && basket['banfdate'] != '') {
            inhalt += '\t<p class="parent_manage_basket_box_p" style="width: 130px;">'+basket['banfdate']+'</p>\n';
        }
        else if(xml.getElementsByTagName("baskets")[0].childNodes[i].childNodes[5]) {
            inhalt += '\t<p class="parent_manage_basket_box_p" style="width: 130px;" />\n';
        }

        inhalt += '\t<p class="parent_manage_basket_box_p" style="width: 110px;">'+basket['versanddatum']+'</p>\n';
        inhalt += '</div>\n';
        inhalt += '<p class="clear" />\n';
    }
    document.getElementById('manage_baskets_box').innerHTML = inhalt;
}

function create_psp1(xml,data) {
    var data_array = data.split('&');
    var psp1 = new Array();
    var psp2 = null;
    var psp3 = '';

    if(typeof(xml.getElementsByTagName("psp")[0]) != "undefined" && xml.getElementsByTagName("psp")[0].hasChildNodes()) {
        //Loesche die Felder: PSP2 und PSP3
        document.getElementById('psp2_psp3').innerHTML = '<input type="text" id="psp_edit" value="" />';

        for(var i=0; i < xml.getElementsByTagName("psp")[0].childNodes.length; i++) {
            var psp = new Object(iterate_trough_nodes(xml.getElementsByTagName("psp")[0].childNodes[i]));
            psp1[i] = psp['psp1'];
            //Wir haben zwar immer ein psp1-Element aber nicht immer ein psp2-element
            if(psp['psp2'] != null){
                psp2  += '<option value="'+psp['psp2']+'">'+psp['psp2']+'</option>\n';
            }
        }

        if(data_array[3] == 'stype=psp1') {
            for(var i=0; i < document.getElementById('psp1').options.length; i++) {
                if(psp1[i] != null)
                    document.getElementById('psp1').options[i+1] = new Option(psp1[i],psp1[i]);
                else
                    document.getElementById('psp1').options[i+1] = null;
            }
        }

        //Da wir immer nur ein einziges PSP3-Element haben werden, braucht das nicht in der Schleife zu stehen
        if(psp['psp3'] != null || psp['psp2'] != null) {
            psp3 = '<input type="text" id="psp3" size="4" maxlength="4" value="'+(psp['psp3'] != null ? psp['psp3'] : '')+'"/>\n';
        }
        if(psp2 != null) {
            document.getElementById('psp2_psp3').innerHTML = '<select id="psp2">\n'+psp2+'</select>\n'+psp3;
        }
    }
}

function create_psp(data,obj) {
    if(obj.options[obj.selectedIndex].value != 'edit') {
        send_html_request('post', include_path+'kunde/basket_manage.php', data+'&psp='+encodeURIComponent(obj.options[obj.selectedIndex].value)+'&stype=psp2', 'create_psp1');
    }
    else {
        document.getElementById('psp2_psp3').innerHTML = '<input type="text" id="psp_edit" value="" />';
    }
}

function get_all_notes() {
    var notes = document.getElementsByName('notiz');
    var post_link = "";

    for(var i=0;i<notes.length;i++){
        if(notes[i].value != '') {
            post_link += "&"+notes[i].id+"="+encodeURIComponent(notes[i].value);
        }
    }

    return post_link;
}

function get_lang(xml) {
    var txt = new Array();
    var text_list = xml.getElementsByTagName("text_lang");

    for(i=0; i < text_list[0].childNodes.length; i++) {
        var text = text_list[0].childNodes[i];
        var key = text.tagName.split("_");
        if(text.hasChildNodes()) {
            txt[key[1]] = text.firstChild.nodeValue;
        }
        else {
            txt[key[1]] = '';
        }
    }
    return txt;
}

function get_xml_basket(data) {
    send_html_request('get', include_path+'kunde/basket_manage.php', data, 'create_basket_from_xml');
}

function create_basket_from_xml(xml,data) {
    txt = get_lang(xml);
    //Gib bei Bedarf Fehler aus
    //var text = (new XMLSerializer()).serializeToString(xml);
    //Internet Explorer
    //var test = xml.xml;
    //alert(test);
    get_error_msg_from_xml(xml);
    var sid  = document.getElementById('cur_sid').value;
    var hacc = get_hacc();
    var sc_id = $("#cur_sc_id").val();
    var article_list = xml.getElementsByTagName("basket_details")[0];
    var basket_attributes = xml.getElementsByTagName("basket_attributes")[0];
    var customer_price_attributes = xml.getElementsByTagName("customer_price_attributes")[0];
    var ausgabe = '';
        ausgabe += '<table id="basket_table" cellspacing="0" class="basket_table_head"'+(sc_id == 582 ? ' style="display: none;"' : '')+'>';
        ausgabe += '    <tr align="left">';
        ausgabe += '        <th width="5px"></th>';
        ausgabe += '        <th width="30px;">'+txt[5156]+'</th>';
        ausgabe += '        <th width="100px;">'+txt[5064]+'</th>';
        ausgabe += '        <th width="140px;">'+txt[1239]+'</th>';
        ausgabe += '        <th width="200px;">'+txt[62378]+'</th>';
        ausgabe += '        <th width="220px;">'+txt[2604]+'</th>';
        ausgabe += '        <th width="60px;">'+txt[1092]+'</th>';
        ausgabe += '        <th width="10px;">'+txt[5239]+'</th>';
        ausgabe += '    </tr>';

    var currency         = customer_price_attributes.childNodes[1].firstChild.nodeValue;
    var currency_format  = customer_price_attributes.childNodes[2].firstChild.nodeValue;
    var article_list_new = article_list.childNodes[0];
    var show_pos_kom     = 1;   //Positionskommentar standardmaessig anzeigen
    var mwst             = 0.00;
    var summe_basket     = 0.00;
    var min_preis        = 0.00;
    var ship_preis       = 0.00;
    var pack_preis       = 0.00;
    var min_pack_preis   = 0.00;
    var min_ship_preis   = 0.00;

    //Gibt es einen Kommentar im Warenkorb?
    if(document.getElementById('kommentar') != null) {
        if(basket_attributes.childNodes[2].hasChildNodes()) {
            document.getElementById('kommentar').value = basket_attributes.childNodes[2].firstChild.nodeValue;
            document.getElementById('kommentar_box').style.display == "block";
        }
        else {
            document.getElementById('kommentar').value = '';
            document.getElementById('kommentar_box').style.display == "none";
        }
    }

    //Solle der Positionskommentar gezeigt werden?
    if(basket_attributes.childNodes[3].hasChildNodes()) {
        show_pos_kom = basket_attributes.childNodes[3].firstChild.nodeValue;
    }

    //Auftragsnummer
    if(document.getElementById('auftrnr') != null) {
        if(basket_attributes.childNodes[4].hasChildNodes()) {
            document.getElementById('auftrnr').value = basket_attributes.childNodes[4].firstChild.nodeValue;
        }
        else {
            document.getElementById('auftrnr').value = '';
        }
    }

    //Ansprechpartner
    if(document.getElementById('anspr') != null) {
        if(basket_attributes.childNodes[5].hasChildNodes()) {
            document.getElementById('anspr').value = basket_attributes.childNodes[5].firstChild.nodeValue;
        }
        else {
            document.getElementById('anspr').value = '';
        }
    }

    //Buttontext
    if(basket_attributes.childNodes[6].hasChildNodes()) {
    	buttonTxt = basket_attributes.childNodes[6].firstChild.nodeValue;
    }

    //Mache ein Update unserer Warenkorbnummer
    document.getElementById('span_ordernr').innerHTML=basket_attributes.childNodes[0].firstChild.nodeValue;

    //Mache ein Update unserer Positionsanzeige
    document.getElementById('anzPos').innerHTML=basket_attributes.childNodes[1].firstChild.nodeValue;

    //Mwst
    if(customer_price_attributes.childNodes[0].hasChildNodes()) {
        var mwst = customer_price_attributes.childNodes[0].firstChild.nodeValue;
    }

    for(i=0; i < article_list_new.childNodes.length; i++) {
        var article = article_list_new.childNodes[i];
        var artikel_link = '';
        var hanm         = '';
        var me_be             = '';
        var notiz_text   = '';
        var rabatt       = '';
        var einzel_preis = '';
        var summe     = 0.00;
        var pos_summe = 0.00;
        var artbes    = article.childNodes[7].firstChild.nodeValue;

        //Duerfen wir den Hersteller sehen?
        if(article.childNodes[6].hasChildNodes() && article.childNodes[6].firstChild.nodeValue > 0 && sc_id != 582) {
            artikel_link = '<a href="'+include_path+'kunde/index_new.php?sid='+sid+'&hacc='+hacc+'&sc_id=396&hstnr='+article.childNodes[6].firstChild.nodeValue+
            '&artnr='+encode64(article.childNodes[2].firstChild.nodeValue)+'">'+article.childNodes[2].firstChild.nodeValue+'</a>';
        }
        else {
            //Der artikel_link wird auf die Artikelnummer gesetzt, da es ein Artikel ohne Hersteller ist
            artikel_link = article.childNodes[2].firstChild.nodeValue;
        }

        //Gibt es einen Herstellernamen?
        if(article.childNodes[5].hasChildNodes()) {
            hanm = article.childNodes[5].firstChild.nodeValue;
        }

        //Gibt es eine Mengeneinheit
        if(article.childNodes[4].hasChildNodes()) {
            me_be = article.childNodes[4].firstChild.nodeValue;
        }

        //Gibt es eine Notiz?
        if(article.childNodes[8].hasChildNodes()) {
            notiz_text = article.childNodes[8].firstChild.nodeValue;
        }

        //Gibt es einen Rabatt?
        if(article.childNodes[10].hasChildNodes()) {
            rabatt = '<br />-'+article.childNodes[10].firstChild.nodeValue+'%';
        }

        //ist der Preis auf Anfrage, dann setze den Preis auf den Text "auf Anfrage"
        if(article.childNodes[12].hasChildNodes() && article.childNodes[12].firstChild.nodeValue == 1) {
            einzel_preis = txt[5221];
        }
        else {
            einzel_preis = roundPrice(article.childNodes[9].firstChild.nodeValue,currency, currency_format)
        }

        //Wenn es eine Anbruchmenge ist, dann muessen wir das auch ausgeben
        if(article.childNodes[11].hasChildNodes() && article.childNodes[11].firstChild.nodeValue == 1) {
            artbes = artbes+'<br /><br /><strong>'+txt[1143]+'</strong>';
            summe  = txt[5221];
            //pos_summe = 0.00;
        }
        else {
            summe     = roundPrice(article.childNodes[14].firstChild.nodeValue,currency,currency_format);
            pos_summe = article.childNodes[14].firstChild.nodeValue;
        }

        ausgabe += '<tr valign="top">';
        ausgabe += '    <td class="basket_zelle_bt"></td>';
        ausgabe += '    <td class="basket_zelle_bt"><span class="basket_pos" name="pos">'+article.childNodes[1].firstChild.nodeValue+'</span></td>';
        ausgabe += '    <td class="basket_zelle_bt">'+artikel_link+'</td>';
        ausgabe += '    <td class="basket_zelle_bt">'+(sc_id == 582 ? article.childNodes[3].firstChild.nodeValue+' ' : '<input type="text" id="menge_'+article.childNodes[0].firstChild.nodeValue+'" value="'+article.childNodes[3].firstChild.nodeValue+'" size="5" />')+me_be+'</td>';
        ausgabe += '    <td class="basket_zelle_bt">'+hanm+'</td>';
        ausgabe += '    <td class="basket_zelle_bt">'+einzel_preis+' / '+article.childNodes[13].firstChild.nodeValue+' '+me_be+rabatt+'</td>';
        ausgabe += '    <td class="basket_zelle_bt">'+summe+'</td>';
        ausgabe += '    <td></td>';
        ausgabe += '</tr>';
        ausgabe += '<tr valign="top">';
        ausgabe += '    <td colspan="4" class="basket_zelle_bt">'+(sc_id == 582 ? '' : '<input type="button" class="submit_button chng_del_article" onclick="javascript:change_art_in_basket(3,\''+article.childNodes[0].firstChild.nodeValue+'\',this,\'sid='+sid+'&get_lang=1\',\''+txt[62388]+'\'); return false;" value="'+txt[2147]+'" /><input type="button" class="submit_button chng_del_article" onclick="javascript:change_art_in_basket(2,\''+article.childNodes[0].firstChild.nodeValue+'\',this,\'sid='+sid+'&get_lang=1\'); return false;" value="'+txt[65401]+'" />')+'</td>';
        ausgabe += '    <td colspan="3" class="basket_zelle_bt">'+artbes+(show_pos_kom == 1 ? '<br /><p class="basket_notiz_format">'+(txt[1169] ? txt[1169] : txt[74597])+': '+(sc_id == 582 ? notiz_text : '<input type="text" name="notiz" id="notiz_'+article.childNodes[0].firstChild.nodeValue+'_'+article.childNodes[1].firstChild.nodeValue+'" value="'+notiz_text+'" size="40" maxlength="40" onblur="update_notiz(this.value,'+article.childNodes[0].firstChild.nodeValue+')" />')+'</p>' : '')+'</td>';
        ausgabe += '    <td></td>';
        ausgabe += '</tr>';
        ausgabe += '<tr>';
        ausgabe += '    <td colspan="8"><p class="table_draw_bottom_line"></p></td>';
        ausgabe += '</tr>';

        summe_basket = parseFloat(summe_basket) + parseFloat(pos_summe);
    }
    //Nur wenn die Mehrwertsteuer erwuenscht ist gibt es eine separate Summe
    if(mwst > 0 || hacc == 1011724343) {
        ausgabe += '<tr>';
        ausgabe += '    <td class="basket_zelle_bt"></td>';
        ausgabe += '    <td class="basket_zelle_bt"></td>';
        ausgabe += '    <td class="basket_zelle_bt"></td>';
        ausgabe += '    <td class="basket_zelle_bt"></td>';
        ausgabe += '    <td class="basket_zelle_bt table_cell_summe">'+txt[93558]+':</td>';
        ausgabe += '    <td class="basket_zelle_bt table_cell_summe table_cell_waehrung">'+currency+'</td>';
        ausgabe += '    <td class="basket_zelle_bt table_cell_summe">'+roundPrice(summe_basket,currency,currency_format)+'</td>';
        ausgabe += '    <td class="basket_zelle_bt table_cell_summe"></td>';
        ausgabe += '</tr>';
        ausgabe += '<tr>';
        ausgabe += '    <td colspan="8"><p class="table_draw_bottom_line"></p></td>';
        ausgabe += '</tr>';
    }
    ausgabe += '<tr>';
    ausgabe += '    <td class="basket_zelle_bt"></td>';
    ausgabe += '    <td class="basket_zelle_bt"></td>';
    ausgabe += '    <td class="basket_zelle_bt"></td>';
    ausgabe += '    <td class="basket_zelle_bt"></td>';

    if(customer_price_attributes.childNodes[7].hasChildNodes() && summe_basket < customer_price_attributes.childNodes[7].firstChild.nodeValue) {
        if(customer_price_attributes.childNodes[8].hasChildNodes() && customer_price_attributes.childNodes[8].firstChild.nodeValue > 0) {
            min_preis = customer_price_attributes.childNodes[8].firstChild.nodeValue;
        }
        else {
            min_preis = 0.00;
            //Wenn die Mindestbestellmenge ueberschritten worden ist und der Text vorher "Anfrage absenden" gelautet hat, dann aendere ihn jetzt
            //zu "Bestellung absenden"
            if($("#order").val() == txt[66021] && buttonTxt == '') {
                $("#order").val(txt[1155])
            }
            else if(buttonTxt !=''){
				$("#order").val(buttonTxt);
			}
        }

        ausgabe += '    <td class="basket_zelle_bt">'+txt[5087]+' '+customer_price_attributes.childNodes[7].firstChild.nodeValue+' '+currency+' '+txt[65402]+':</td>';
        ausgabe += '    <td colspan="2" class="basket_zelle_bt"></td>';
        ausgabe += '    <td class="basket_zelle_bt"></td>';
        ausgabe += '</tr>';
        ausgabe += '<tr>';
        ausgabe += '    <td class="basket_zelle_bt"></td>';
        ausgabe += '    <td class="basket_zelle_bt"></td>';
        ausgabe += '    <td class="basket_zelle_bt"></td>';
        ausgabe += '    <td class="basket_zelle_bt"></td>';
        ausgabe += '    <td class="basket_zelle_bt">'+txt[2590]+': </td>';
        ausgabe += '    <td class="basket_zelle_bt table_cell_summe table_cell_waehrung">'+currency+'</td>';
        ausgabe += '    <td class="basket_zelle_bt table_cell_summe">'+roundPrice(min_preis,currency,currency_format)+'</td>';
        ausgabe += '    <td class="basket_zelle_bt"></td>';
        ausgabe += '</tr>';
    }
    else {
        //Wenn die Mindestbestellmenge ueberschritten worden ist und der Text vorher "Anfrage absenden" gelautet hat, dann aendere ihn jetzt
        //zu "Bestellung absenden"
        if($("#order").val() == txt[1155] && buttonTxt == '') {
            $("#order").val(txt[66021])
        }
        else if(buttonTxt != ''){
        	$("#order").val(buttonTxt);
		}

        ausgabe += '    <td class="basket_zelle_bt"></td>';
        ausgabe += '    <td class="basket_zelle_bt"></td>';
        ausgabe += '    <td colspan="2" class="basket_zelle_bt"></td>';
        ausgabe += '</tr>';
    }

    //Versandkosten
    if(customer_price_attributes.childNodes[3].hasChildNodes()) {
        if(customer_price_attributes.childNodes[5].hasChildNodes()) {
            min_ship_preis = customer_price_attributes.childNodes[5].firstChild.nodeValue;
        }
        if(summe_basket < min_ship_preis || min_ship_preis == 0.00) {
        	ship_preis = customer_price_attributes.childNodes[3].firstChild.nodeValue;
            ausgabe += '<tr>';
            ausgabe += '    <td class="basket_zelle_bt"></td>';
            ausgabe += '    <td class="basket_zelle_bt"></td>';
            ausgabe += '    <td class="basket_zelle_bt"></td>';
            ausgabe += '    <td class="basket_zelle_bt"></td>';
            ausgabe += '    <td class="basket_zelle_bt">'+txt[5115]+': </td>';
            ausgabe += '    <td class="basket_zelle_bt table_cell_waehrung">'+currency+'  </td>';
            ausgabe += '    <td class="basket_zelle_bt">'+cur_format(ship_preis,currency_format)+'</td>';
            ausgabe += '    <td class="basket_zelle_bt"></td>';
            ausgabe += '</tr>';
        }
    }

    //Verpackungskosten
    if(customer_price_attributes.childNodes[4].hasChildNodes()) {
        pack_preis = customer_price_attributes.childNodes[4].firstChild.nodeValue;

        if(customer_price_attributes.childNodes[6].hasChildNodes()) {
            min_pack_preis = customer_price_attributes.childNodes[6].firstChild.nodeValue;
        }

        if((summe_basket < min_pack_preis || min_pack_preis == 0.00) && pack_preis > 0) {
            ausgabe += '<tr>';
            ausgabe += '    <td class="basket_zelle_bt"></td>';
            ausgabe += '    <td class="basket_zelle_bt"></td>';
            ausgabe += '    <td class="basket_zelle_bt"></td>';
            ausgabe += '    <td class="basket_zelle_bt"></td>';
            ausgabe += '    <td class="basket_zelle_bt">'+txt[5116]+': </td>';
            ausgabe += '    <td class="basket_zelle_bt table_cell_waehrung">'+currency+'</td>';
            ausgabe += '    <td class="basket_zelle_bt">'+cur_format(pack_preis,currency_format)+'</td>';
            ausgabe += '    <td class="basket_zelle_bt"></td>';
            ausgabe += '</tr>';
        }
    }

    ausgabe += '<tr>';
    ausgabe += '    <td class="basket_zelle_bt"></td>';
    ausgabe += '    <td class="basket_zelle_bt"></td>';
    ausgabe += '    <td class="basket_zelle_bt"></td>';
    ausgabe += '    <td class="basket_zelle_bt"></td>';
    ausgabe += '    <td class="basket_zelle_bt table_cell_summe">'+txt[93558]+':</td>';

    //Nur wenn die Mehrwertsteuer erwuenscht ist wird Sie separat ausgewiesen
    if(mwst > 0) {
        ausgabe += '    <td class="basket_zelle_bt table_cell_waehrung">'+currency+'</td>';
        ausgabe += '    <td class="basket_zelle_bt">'+roundPrice(parseFloat(summe_basket)+parseFloat(min_preis)+parseFloat(ship_preis)+parseFloat(pack_preis),currency, currency_format)+'</td>';
        ausgabe += '    <td class="basket_zelle_bt"></td>';
        ausgabe += '</tr>';

        ausgabe += '<tr>';
        ausgabe += '    <td class="basket_zelle_bt"></td>';
        ausgabe += '    <td class="basket_zelle_bt"></td>';
        ausgabe += '    <td class="basket_zelle_bt"></td>';
        ausgabe += '    <td class="basket_zelle_bt"></td>';
        ausgabe += '    <td class="basket_zelle_bt">'+txt[1099]+' '+mwst+'% ('+cur_format(((parseFloat(summe_basket)+parseFloat(min_preis)+parseFloat(ship_preis)+parseFloat(pack_preis))/100)*mwst,currency_format)+' '+currency+')</td>';
    }

    ausgabe += '    <td class="basket_zelle_bt table_cell_summe table_cell_waehrung">'+currency+'</td>';
    ausgabe += '    <td class="basket_zelle_bt table_cell_summe">' + roundPrice((((parseFloat(summe_basket) + parseFloat(min_preis) + parseFloat(ship_preis) + parseFloat(pack_preis)) / 100) * mwst) + (parseFloat(summe_basket) + parseFloat(min_preis) + parseFloat(ship_preis) + parseFloat(pack_preis)), currency, currency_format) + '</td>';
    ausgabe += '    <td class="basket_zelle_bt"></td>';
    ausgabe += '</tr>';

    ausgabe += '<tr>';
    ausgabe += '    <td colspan="8"><p class="table_draw_bottom_line"></p></td>';
    ausgabe += '</tr>';


    ausgabe += '<tr>';
    ausgabe += '    <td colspan="8"><p class="table_draw_bottom_line"></p></td>';
    ausgabe += '</tr>';
    ausgabe += '</table>';

    document.getElementById("basket_table_box").innerHTML = ausgabe;
}

function update_notiz(notiz, id) {
    var sid  = document.getElementById('cur_sid').value;
    var hacc = get_hacc();
    send_html_request('post',include_path+'kunde/basket_manage.php','sid='+sid+'&hacc='+hacc+'&type=19&notiz_id='+id+'&notiz='+encodeURIComponent(notiz));
}

function submit_oci_reload(data) {
    send_html_request('get', include_path+'kunde/basket_manage.php', data, 'reload_oci_order');
}

function reload_oci_order(hidden_html) {
    document.getElementById('oci_box').innerHTML=hidden_html;
    document.oci_form.submit();
}

function katalogprofile(error_id,msg_txt,alert_txt,data) {
    if (data[0] == 'auswahlliste' && data[1] == 'ON') {
        document.getElementById('auswahl_span_' + data[2]).innerHTML=data[3];
    }
    else if (data[0] == 'auswahlliste' && data[1] != 'ON') {
        document.getElementById('auswahl_span_' + data[2]).innerHTML='';
    }
}

function get_checkbox(checkbox) {
    if (checkbox.checked == true) {
        return checkbox.value;
    }
    else {
        return '';
    }
}

function artikeldaten_auf_anfrage(checkbox,hstartnr,preisalt) {
    if (checkbox.checked == true) {
        document.getElementById('preis_'+hstartnr).value = '0.01';
        document.getElementById('preis_'+hstartnr).disabled = true;
    }
    else {
        document.getElementById('preis_'+hstartnr).value = preisalt;
        document.getElementById('preis_'+hstartnr).disabled = false;
        document.getElementById('preis_'+hstartnr).focus();
    }
}

function ajax_edit_span(obj,spannr,boxsize,typ,script,data) {
  if (focused == false) {
    inhalt = obj.innerHTML;
    obj.innerHTML = '<input type="text" id="text_'+spannr+'" size="'+boxsize+'" value="'+inhalt+'" onblur="ajax_edit_span_blur('+spannr+',this.value,\''+typ+'\',\''+script+'\',\''+data+'\');" />';
    document.getElementById('text_'+spannr).focus();
    focused = true;
  }
}

function ajax_edit_span_blur(spannr,grpbes,typ,script,data) {
  document.getElementById('span_'+spannr).innerHTML = grpbes;
  send_html_request(typ,script,data+grpbes);
  focused = false;
}

function alle_staffeln_auf_anfrage(checkbox) {
    if (checkbox.checked == true) {
        document.getElementById('staf_1').value = 1;
        document.getElementById('preis_1').value = '0.01';
        document.getElementById('staf_1').setAttribute("readonly","readonly");
        document.getElementById('preis_1').setAttribute("readonly","readonly");
        for (var i = 2; i <= 6; i++) {
            document.getElementById('staf_'+i).disabled = true;
            document.getElementById('preis_'+i).disabled = true;
        }
    }
    else {
        document.getElementById('staf_1').value = 1;
        document.getElementById('preis_1').value = '';
        document.getElementById('staf_1').removeAttribute("readonly");
        document.getElementById('preis_1').removeAttribute("readonly");
        for (var i = 1; i <= 6; i++) {
            document.getElementById('staf_'+i).disabled = false;
            document.getElementById('preis_'+i).disabled = false;
        }
    }
}

function show_submenu(data) {
    var anzahl  = document.getElementById('admin_submenu').getElementsByTagName('div').length;
    var visible = document.getElementById(data).style.display;

    for (i=0;i<anzahl;i++) {
        document.getElementById('admin_submenu').getElementsByTagName('div')[i].style.display = 'none';
    }

    if (visible != 'block')
        document.getElementById(data).style.display = 'block';
}

function help_sprachen(error_id,msg_txt,alert_txt,data) {
    if (error_id == 0) {
        document.getElementById('category').value = data[1];
        var pta = helptext_obj.getPageInput(helptext_obj.getActivePage().name);
        pta.value = data[0];
        helptext_obj.updatePageDoc(helptext_obj.getActivePage());
    }
    else {
        alert(alert_txt);
    }
}

function toggle_linkart(obj) {
    if (obj.options[obj.selectedIndex].value == '1') {
        document.getElementById('intern').style.display = 'block';
        document.getElementById('extern').style.display = 'none';
    }
    else if (obj.options[obj.selectedIndex].value == '2') {
        document.getElementById('intern').style.display = 'none';
        document.getElementById('url').value = 'http://';
        document.getElementById('extern').style.display = 'block';
    }
}

function negate_values_from_name(form_id,type,script,funct) {
    //Laenge des Formulars (Wieviele Felder haben wir)
    var num_child = document.forms[form_id].elements.length;

    //negiere die Feldwerte nur, wenn wir auch den uebergeordneten Wert negiert haben
    if(type == 0) {
        for(var i = 0; i < num_child; i++) {
            if(typeof(document.forms[form_id].elements[i].name) != 'undefined' && document.forms[form_id].elements[i].name != '' && document.forms[form_id].elements[i].type=='select-one') {
                document.forms[form_id].elements[i].selectedIndex = 0;
            }
        }
    }
    get_form_fields(form_id,script,funct);
    setTimeout('reload_page()', 500);
}

function toggle_fieldset(field_id) {
    if(document.getElementById(field_id+'_fieldset').style.display == 'block') {
        document.getElementById(field_id+'_fieldset').style.display = 'none';
        document.getElementById(field_id+'_span').style.display = 'block';
    }
    else {
        document.getElementById(field_id+'_fieldset').style.display = 'block';
        document.getElementById(field_id+'_span').style.display = 'none';
    }
}

function extract_error_mark_field(xml) {
    //var test = (new XMLSerializer()).serializeToString(xml);
    //Internet Explorer
    //var test = xml.xml;
    //alert(test);
    //change_err_field(test);
    //document.getElementById('notice_box').innerHTML = test;
    try {
        if(xml.getElementsByTagName("return_msg")[0].childNodes[1] && typeof(xml.getElementsByTagName("return_msg")[0].childNodes[1].firstChild.nodeValue) != 'undefined' && xml.getElementsByTagName("mark_error_field")[0].hasChildNodes == false) {
            var error_msg = xml.getElementsByTagName("return_msg")[0].childNodes[1].firstChild.nodeValue;
            var ret_val = false;

        }
        else if(xml.getElementsByTagName("return_msg")[0].childNodes[0] && typeof(xml.getElementsByTagName("return_msg")[0].childNodes[0].firstChild.nodeValue) != 'undefined') {
            //Variablendeklaration
            var ret_val = true;

            if(xml.getElementsByTagName("mark_error_field")[0].hasChildNodes) {
                var error_msg = xml.getElementsByTagName("return_msg")[0].childNodes[1].firstChild.nodeValue;
                var num_child = xml.getElementsByTagName("mark_error_field")[0].childNodes.length;
                var data_field_name = 'mark_error_field';
            }
            else {
                var error_msg = xml.getElementsByTagName("return_msg")[0].childNodes[0].childNodes[1].firstChild.nodeValue;
                var num_child = xml.getElementsByTagName("data")[0].childNodes.length;
                var data_field_name = 'data';
            }

            for(var i = 0; i < num_child; i++) {
                if(xml.getElementsByTagName("mark_error_field")[0].hasChildNodes && xml.getElementsByTagName("mark_error_field")[0].firstChild.hasChildNodes() == false) {
                    var data_field = xml.getElementsByTagName("mark_error_field")[0].childNodes[0];
                }
                else{
                    var data_field = xml.getElementsByTagName(data_field_name)[0].childNodes[i].firstChild;
                }

                if(document.getElementById(data_field.nodeValue+'_p')) {
                    var old_class_name = document.getElementById(data_field.nodeValue+'_p').className;
                    document.getElementById(data_field.nodeValue+'_p').className = old_class_name+' mark_error_field';
                }
                else {
                    var old_class_name = document.getElementById(data_field.nodeValue).className;
                    document.getElementById(data_field.nodeValue).className = old_class_name+' mark_error_field';
                }

                if(document.getElementById(data_field.nodeValue+'_p').parentNode.style.display != 'block') {
                    var fieldset_split_array = document.getElementById(data_field.nodeValue+'_p').parentNode.id.split('_');
                    document.getElementById(fieldset_split_array[0]+'_span').style.display = 'none';
                    document.getElementById(data_field.nodeValue+'_p').parentNode.style.display = 'block';
                }
            }
        }
        else {
            var ret_val = false;
        }

        document.getElementById("error_msg").innerHTML = error_msg;
        fire_msg_txt();
        return ret_val;

    } catch (error) { return false;}
}

function remove_error_mark(element) {
    var pos_error_mark = element.className.indexOf('mark_error_field');

    if(pos_error_mark > 0) {
        var new_class = element.className.substr(0,pos_error_mark-1);
        element.className = new_class;
    }
}

function get_div_fields(form_id) {
    //Laenge des Formulars (Wieviele Felder haben wir)
    try {
        var num_child = (document.getElementById(form_id).childNodes.length);
        var fsep  = '';
        var fdata = '';

        for(var i = 0; i < num_child; i++) {
            var form_element = document.getElementById(form_id).childNodes[i];

            if(i > 0 && fdata.lastIndexOf('&') < (fdata.length-1))
                fsep = '&';

            if(form_element.nodeName == 'P' || form_element.nodeName == 'DIV' || form_element.nodeName == 'FIELDSET') {
                document.getElementById(form_element.id).style.backgroundColor = '';
                fdata += '&'+get_div_fields(form_element.id);
            }
            else if(form_element.value != 'undefined' && (form_element.nodeName == 'INPUT' || form_element.nodeName == 'SELECT')) {
                if(form_element.type=='select-multiple') {
                    for(var sel_element = 0; sel_element < form_element.options.length; sel_element++) {
                        if(form_element.options[sel_element].selected) {
                            fdata += fsep+
                                form_element.name+'='+
                                encodeURIComponent(escape(form_element.value));
                        }
                    }
                }
                else if(form_element.type=='checkbox') {
                    if(form_element.checked) {
                        var check_value = 1;
                    }
                    else {
                        var check_value = 0;
                    }
                    fdata += fsep+
                            form_element.name+'='+
                            encodeURIComponent(escape(check_value));
                }
                else {
                    fdata += fsep+
                        form_element.name+'='+
                        encodeURIComponent(escape(form_element.value));
                }
            }
        }
    } catch(error) {}
    return fdata;
}

function encode64(input) {
    var output = "";
    var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    var chr1, chr2, chr3 = "";
    var enc1, enc2, enc3, enc4 = "";
    var i = 0;

    do {
        chr1 = input.charCodeAt(i++);
        chr2 = input.charCodeAt(i++);
        chr3 = input.charCodeAt(i++);

        enc1 = chr1 >> 2;
        enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
        enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
        enc4 = chr3 & 63;

        if (isNaN(chr2)) {
            enc3 = enc4 = 64;
        }
        else if (isNaN(chr3)) {
            enc4 = 64;
        }

        output = output +
            keyStr.charAt(enc1) +
            keyStr.charAt(enc2) +
            keyStr.charAt(enc3) +
            keyStr.charAt(enc4);
        chr1 = chr2 = chr3 = "";
        enc1 = enc2 = enc3 = enc4 = "";
    } while (i < input.length);

    return output;
}

function change_to_next_field(akt_length,max_length,jump_field) {
    if(akt_length == max_length) {
        document.getElementById(jump_field).focus();
    }
}

function submit_creditcard(cc_field,cc_value) {
    var sid = document.getElementById('cur_sid').value;
    send_html_request('post',include_path+'kunde/basket_manage.php','sid='+sid+'&type=15&cc_field='+cc_field+'&cc_value='+cc_value);
}

function toggle_credit_invoice(zahlungsweise,txt) {
    if(zahlungsweise.options[zahlungsweise.selectedIndex].value == 2) {
        document.getElementById('kreditkartendaten_box').style.display = 'block';
        $("#order").val(txt[0]);
    }
    else if(zahlungsweise.options[zahlungsweise.selectedIndex].value == 4) {
        $("#order").val(txt[1]);
    }
    else {
        document.getElementById('kreditkartendaten_box').style.display = 'none';
        document.getElementById('cc_inhaber').value = ''
        document.getElementById('cc_name').selectedIndex = 0;
        document.getElementById('cc_nummer1').value = ''
        document.getElementById('cc_nummer2').value = ''
        document.getElementById('cc_nummer3').value = ''
        document.getElementById('cc_nummer4').value = ''
        document.getElementById('cc_checksum').value = ''
        submit_creditcard('delall','');
        $("#order").val(txt[0]);
    }
}

function check_creditcard(last_field_length,cc_nummer) {
     if(last_field_length == 4) {
         var sum = 0;
         var cc_num_len = cc_nummer.length;
         var parity     = cc_num_len % 2;
         var return_val = false;

         for(i=0; i < cc_num_len; i++) {
            var cc_zeichen = cc_nummer[i] * 1;

            if(i % 2 == parity) {
                cc_zeichen = cc_zeichen * 2;
            }

            if(cc_zeichen > 9) {
                cc_zeichen = cc_zeichen - 9;
            }

            sum = sum + cc_zeichen;
         }

         if(sum % 10 != 0) {
            var sid = document.getElementById('cur_sid').value;
            send_html_request('post',include_path+'kunde/basket_manage.php','sid='+sid+'&type=16&txt_nr=66346','get_txt_nr');
         }
         else {
            submit_creditcard('cc_nummer',cc_nummer);
         }

         return return_val;
     }
}

function get_txt_nr(xml) {
    var txt        = get_lang(xml);
    var txt_string = txt.join(" ");

    show_msg_in_notice_box(txt_string)
}

function get_hacc() {
    var hacc         = 0;
    var cur_location = window.location.toString();
    var hacc_array   = cur_location.match(/^http:\/\/h([0-9]+)k([0-9]+)\./);

    if(hacc_array) {
        hacc = hacc_array[1];
    }
    else {
        hacc_array = cur_location.match(/hacc\=([0-9]+)\&/);
        hacc = hacc_array[1];
    }

    return hacc;
}

function delete_parent_element(child,data,script,text) {
    if(confirm(text)==true) {
        send_html_request('get',script,data);
        div = document.getElementById(child);
        div.parentNode.removeChild(div);
    }
}

function remove_child(childid) {
    childelement = document.getElementById(childid);
    childelement.parentNode.removeChild(childelement);
}

function validate_form(formname) {
    var lnk_form    = document.forms[formname]
    var cnt_input   = lnk_form.elements.length;
    var cnt_input   = lnk_form.elements.length;
    var submit_flag = true;

    var pattern=/^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/;
    for (var i = 0; i<cnt_input; i++) {
        if (typeof(lnk_form.elements[i].name) != 'undefined' && ((lnk_form.elements[i].name.substr(0,4) == 'req_' && lnk_form.elements[i].value.replace(/^\s+/, '').replace(/\s+$/, '') == '') || (lnk_form.elements[i].name == 'req_email' && !pattern.test(lnk_form.elements[i].value))) ) {
            submit_flag = false;
            lnk_form.elements[i].className = 'mark_error_field';
        }
        else {
            lnk_form.elements[i].className = '';
        }
    }
    if (submit_flag) {
        document.forms[formname].submit();
    }
}

function get_hst_merkmale(error_id,msg_txt,alert_txt,data) {
    document.getElementById('get_hst_merk').innerHTML = data[0];
}

function eclass6_merkmale(error_id,msg_txt,alert_txt,data) {
    if (error_id == 1) {
        alert(alert_txt);
    }
}

function save_field_content(value,valtype) {
    var sid = document.getElementById('cur_sid').value;
    send_html_request('post',include_path+'kunde/basket_manage.php','sid='+sid+'&type=18&valtype='+valtype+'&value='+value);
}

function show_msg_in_global_popup(title,msg,duration) {
    if (title != '') {
        $('#global_popup').html('<h2><span>'+title+'</span></h2>');
    }

    $('#global_popup').append('<p>'+msg+'</p>');

    if (duration == 0) {
        $('#global_popup').append('<p><input class="submit_button notice_box_button" onclick="toggle_popup(\'0\', \'0\')" value="OK" type="button"></p>');
    }

    toggle_popup(1, duration);
}

function toggle_popup(visible, duration) {
    if(visible == 1) {
        location.href='#top-page';
        document.getElementById('global_popup').className = document.getElementById('global_popup').className.replace(/hidden/g,'visible');
        if (duration != 0) {
            setTimeout("toggle_popup(\'0\', \'0\');", duration);
        }
    }
    else {
        document.getElementById('global_popup').className = document.getElementById('global_popup').className.replace(/visible/g,'hidden');
    }
}

function toggle_visible(field,span_to_change) {
    if(document.getElementById(field).style.visibility != 'visible') {
        document.getElementById(field).style.visibility = 'visible';
        if(span_to_change != null) {
            document.getElementById(span_to_change).innerHTML = '( - )';
        }
    }
    else {
        document.getElementById(field).style.visibility = 'collapse';
        if(span_to_change != null) {
            document.getElementById(span_to_change).innerHTML = '( + )';
        }
    }
}

function toggle_address_read_only() {
    if(document.getElementById('name').readOnly == true) {
        disable_address_read_only();
    }
    else {
        enable_address_read_only();
    }
}

function disable_address_read_only() {
    document.getElementById('name').style.backgroundColor = '#FFFFFF';
    document.getElementById('name2').style.backgroundColor = '#FFFFFF';
    document.getElementById('street').style.backgroundColor = '#FFFFFF';
    document.getElementById('street2').style.backgroundColor = '#FFFFFF';
    document.getElementById('zip').style.backgroundColor = '#FFFFFF';
    document.getElementById('city').style.backgroundColor = '#FFFFFF';
    document.getElementById('country').style.backgroundColor = '#FFFFFF';
    document.getElementById('tel').style.backgroundColor = '#FFFFFF';
    document.getElementById('fax').style.backgroundColor = '#FFFFFF';
    document.getElementById('name').readOnly = false;
    document.getElementById('name2').readOnly = false;
    document.getElementById('street').readOnly = false;
    document.getElementById('street2').readOnly = false;
    document.getElementById('zip').readOnly = false;
    document.getElementById('city').readOnly = false;
    document.getElementById('country').readOnly = false;
    document.getElementById('tel').readOnly = false;
    document.getElementById('fax').readOnly = false;
}

function enable_address_read_only() {
    document.getElementById('name').style.backgroundColor = '#B5B5B5';
    document.getElementById('name2').style.backgroundColor = '#B5B5B5';
    document.getElementById('street').style.backgroundColor = '#B5B5B5';
    document.getElementById('street2').style.backgroundColor = '#B5B5B5';
    document.getElementById('zip').style.backgroundColor = '#B5B5B5';
    document.getElementById('city').style.backgroundColor = '#B5B5B5';
    document.getElementById('country').style.backgroundColor = '#B5B5B5';
    document.getElementById('tel').style.backgroundColor = '#B5B5B5';
    document.getElementById('fax').style.backgroundColor = '#B5B5B5';
    document.getElementById('name').readOnly = true;
    document.getElementById('name2').readOnly = true;
    document.getElementById('street').readOnly = true;
    document.getElementById('street2').readOnly = true;
    document.getElementById('zip').readOnly = true;
    document.getElementById('city').readOnly = true;
    document.getElementById('country').readOnly = true;
    document.getElementById('tel').readOnly = true;
    document.getElementById('fax').readOnly = true;
}

function reset_basket_fields() {
    if(document.getElementById('delivery_address')) {
        document.getElementById('delivery_address').innerHTML = '<li><span id="del_name"></span></li><li><span id="del_name2"></span></li><li><span id="del_zusatz"></span></li><li><span id="del_strasse"></span></li><li><span id="del_strasse2"></span></li><li><span id="del_plz"></span> <span id="del_ort"></span></li><li><span id="del_land"></span></li>';
    }

    if(document.getElementById('invoice_address')) {
        document.getElementById('invoice_address').innerHTML = '<li><span id="inv_name"></span></li><li><span id="inv_name2"></span></li><li><span id="inv_zusatz"></span></li><li><span id="inv_strasse"></span></li><li><span id="inv_strasse2"></span></li><li><span id="inv_plz"></span> <span id="inv_ort"></span></li><li><span id="inv_land"></span></li>';
    }

    if(document.getElementById('auftrnr')) {
        document.getElementById('auftrnr').value='';
    }
    if(document.getElementById('anspr')) {
        document.getElementById('anspr').value='';
    }
}

function show_last_order(data) {
    var sid = $("#cur_sid").val();

    $.ajax({
        type:"POST",
        url:include_path+"kunde/basket_manage.php",
        data:"sid="+sid+"&type=20",
        dataType:"json",
        success:function(data){

            if (data.ordernr == 0) {
                //Zeige den Text an, das alles erfolgreich war
                show_msg_in_global_popup(' ', data.error_txt, 5000);
            }
            else {
                location.href = include_path+"kunde/basket_manage.php?sid="+sid+"&type=14";
            }

        }
    });
}

function check_maxlength(objname, chars) {
    var obj = $("#"+ objname);
    var obj_text = obj.val();

    if (obj_text.length > chars) {
        obj.val(obj_text.substring(0, chars));
    }
}

function getTxt(txtArray) {
	/* Zur Verwendung der Methode einfach einpaar spans, welche den text enthalten sollen in die HTML-Seite
	*  einfügen:
	*  <span class="t55523"></span>
	*  aufrufbar nach dem Schema: getTxt('55523,55544,55522');
	*/
    $.ajax({
        type:"GET",
        url:include_path+"kunde/getTxt.php",
        data:"sid="+$("#cur_sid").val()+"&txtArray="+txtArray,
        dataType:"json",
        success:function(data){
        	$.each(data, function(key, val) {
    			$("."+key).html(val);
			});
        }
    });
}

function showAjaxWaitInTable(tableName, span) {
	$('#'+tableName+' tr:last').after('<tr id="'+tableName+'Wait" style="text-align: center"><td colspan="'+span+'"><img src="/navigationsimages/wait20trans.gif" /></td></tr>');
}

function removeAjaxWaitInTable(tableName) {
	$("#"+tableName+"Wait").remove();
}

function createKlassenkatalogTable(typ) {
	/* Hole dir die Texte und ersetze sie in der Tabelle*/
	getTxt('55523,55544,55522');

	if(typ == 'vgkl') {
		var loadGroup = 'loadvgkl=true';
		var klassenKatTable = 'VGKL';
	}
	else {
		var loadGroup = 'loadeclass=true';
		var klassenKatTable = 'Eclass';
	}

	/* Zeige Wartesymbol*/
	showAjaxWaitInTable(klassenKatTable, 4);
    if($('#'+klassenKatTable+' tr').length < 3) {
	    $.ajax({
	        type:"GET",
	        url:include_path+"administrator/klassenkataloge.php",
	        data:"sid="+$("#cur_sid").val()+"&"+loadGroup+"&profnr="+$("#profnr").val(),
	        dataType:"json",
	        success:function(data){
	        	/* Entferne Wartesymbol */
	        	removeAjaxWaitInTable(klassenKatTable);

	        	if(data != null) {
        			rowId = 1;
        			$.each(data, function(keyArray, val) {
    					elem  = '<tr id="'+klassenKatTable+'tr'+rowId+'">';
    					elem += '  <td class="zelle_br zelle_bt">';
        				elem += '    <button class="submit" onclick="removeKlassenkatalogElement(\''+klassenKatTable+'\','+rowId+',\''+val.group_id+'\',\''+val.typ+'\','+val.version+')">'+val.txt+'</a>';
        				elem += '  </td>';
        				elem += '  <td class="zelle_br zelle_bt">'+val.group_id+'</td>';
						elem += '  <td class="zelle_br zelle_bt">'+val.typ+' '+val.version+'</td>';
       					elem += '  <td class="zelle_bt">'+val.class_bez+'</td>';
    					elem += '</tr>';
    					$('#'+klassenKatTable+' tr:last').after(elem);
    					rowId++;
					});
				}
	        }
	    });
	}
}

function removeKlassenkatalogElement(klassenKatTable,rowId,group_id,typ,version) {
	$.ajax({
        type:"GET",
        url:include_path+"administrator/klassenkataloge.php",
        data:"sid="+$("#cur_sid").val()+"&profnr="+$("#profnr").val()+"&gruppe="+group_id+"&typ="+(klassenKatTable == 'VGKL' ? typ+version : typ),
        dataType:"json",
        success:function(data){
        	if (data.success == 1) {
                //Erfolg
                $("#"+klassenKatTable+"tr"+rowId).remove();
            }
            else {
                //Fehler
                show_msg_in_global_popup(' ', data.error_txt, 5000);
                $("#tr"+rowId).remove();
            }
        }
    });
}

function berechneAuswahl(typ) {
	/* Zeige Wartesymbol*/
	showAjaxWaitInTable('berechneteAuswahl', 2);

	$.ajax({
        type:"GET",
        url:include_path+"administrator/klassenkataloge.php",
        data:"sid="+$("#cur_sid").val()+"&profnr="+$("#profnr").val()+"&letter="+$("#letter").val()+"&aktion="+typ,
        dataType:"json",
        success:function(data){
        	/* Entferne Wartesymbol */
	        removeAjaxWaitInTable('berechneteAuswahl');
        	if(data != null) {
        		$.each(data, function(keyArray, val) {
    				elem  = '<tr>';
    				elem += '<td class="zelle_br zelle_bt">'+val.hanm+'</td>';
    				elem += '<td class="zelle_br zelle_bt">'+val.cnt_art+'</td>';
    				elem += '</tr>';
    				$('#berechneteAuswahl tr:last').after(elem);
				});
			}
        }
    });
}

function roundPrice(price, currency, format) {
    //Wir runden in 0.05 Schritten, falls es sich um Schweizer Franken handelt
    if (currency == "SFr.")
        price = (Math.round((price / 5) * 100) / 100) * 5;

    return cur_format(Math.round(price * 100) / 100, format);  //returns 28.45
}

function getArticleCount(hstnr) {
    //alert($("#articleCount" + hstnr).val());
    if($("#articleCount" + hstnr).val() != false) {
        $.ajax({
            type:"GET",
            url:include_path+"administrator/katalogeinstellungen_ajax.php",
            data:"sid="+$("#cur_sid").val()+"&hstnr="+hstnr+"&getAnzahlArt=1",
            dataType:"json",
            success:function(data){
                if(data != null) {
                    $.each(data, function(keyArray, val) {
                        $('#anzahl' + hstnr + val.tabnr).html(val.cnt);
                    });
                }
            }
        });

        $("#articleCount" + hstnr).val('true');
    }
}
