var aktreiter = 0;
function reiterwechsel(reiter)
{
    if (aktreiter && aktreiter!=reiter)
    {
        document.getElementById('reiter'+aktreiter).style.display = 'none';
        document.getElementById('R'+aktreiter).className = 'reiterPassiv';
    }
    aktreiter = reiter;
    if (reiter)
    {
        document.getElementById('reiter'+reiter).style.display = 'block';
        document.getElementById('R'+reiter).className = 'reiterAktiv';
        if (el = document.getElementById('tabno'))
            el.value = reiter;
    }
}
var flag = 0;
function setFlag(val)
{
    flag = val;
}
function checkFlag()
{
    var win=window, label='';
    if (checkFlag.arguments.length)
        win = checkFlag.arguments[0];
    if (checkFlag.arguments.length>1)
        label = ' ' + checkFlag.arguments[1];
    if (win.flag)
        return confirm ('Ihre Eingaben'+label+' wurden noch nicht gespeichert.\nMöchten Sie trotzdem fortfahren?\nUm Ihre Eingaben zu sichern, drücken Sie bitte abbrechen!');
    return true;
}

function popup(w,h)
{
    return popup2(w,h,'eakpop');
}
function popup2(w,h,n)
{
    return window.open('about:blank', n, 'width='+w+',height='+h+',resizable=yes,scrollbars=yes');
}

function showlen(srcel, trgname, maxlen)
{
    document.getElementById(trgname).innerText=srcel.innerText.length+' Zeichen (max. '+maxlen+')';
}

ajax_callback = null;
ajax_return = '';
function ajax(url)
{
    if (ajax.arguments.length>1)
        ajax_callback = ajax.arguments[1];
    else
        ajax_callback = null;
    var p = url.lastIndexOf('/');
    var s = url.substr(0,p+1) + 'ajax/' + url.substr(p+1, 255);
    if (navigator.appName.match('^Opera') && document.getElementById('ajaxframe').src == s)
        document.getElementById('ajaxframe').contentWindow.location.reload();
    else
        document.getElementById('ajaxframe').src = s;
    return false;
}
function ajax_rcv()
{
    if (navigator.appName.match('^Opera') && ajax_rcv.arguments.length)
        ajax_return = ajax_rcv.arguments[0];
    else
        ajax_return = document.getElementById('ajaxframe').contentWindow.document.body.innerHTML;
    if (ajax_callback)
        eval(ajax_callback+';');
}

menueoffen = false;
offen = false;

function showmenue(element,wert)
{
    //alert(menueoffen);
    if(wert)
    {
        if(offen != false)
            document.getElementById(offen).style.display='none'
        menueoffen = true;
        menuecontrol(element,'block');
        offen = element;
    
    }
    else
    {
        menueoffen = false;
        window.setTimeout("menuecontrol('"+element+"','none')",200);
    }
}

function menuecontrol(element,wert)
{
    if(wert == 'block' || menueoffen==false)
    {
        document.getElementById(element).style.display=wert;
        breite = document.getElementById(element).offsetWidth;
        for(i=0; i<document.getElementById(element).childNodes.length; i++)
        {
            if(document.getElementById(element).childNodes[i].offsetWidth > breite)
                breite=document.getElementById(element).childNodes[i].offsetWidth;
        }
        //alert(breite);
        links = document.getElementById(element).offsetLeft;
        fenster = document.getElementsByTagName("body")[0].offsetWidth;
        rest = (fenster-links)-breite;
        if(rest < 0)
        {
            minus=40;
            if(navigator.appName.substring(0, 9) == 'Microsoft')
                minus = 20;
            document.getElementById(element).style.left =(fenster-breite)-minus;
        //document.getElementById(element).style.setAttribute("text-align","right");
        }
    //alert(rest);
    //document.getElementById(element).style.setAttribute("background-color", "red");
    }
}

function go(showflash,width,height){

    if (showflash != "") {

        var str = "height=" + height + ",innerHeight=" + height;
        str += ",width=" + width + ",innerWidth=" + width;
        if (window.screen) {
            var ah = screen.availHeight - 30;
            var aw = screen.availWidth - 10;

            var xc = (aw - width) / 2;
            var yc = (ah - height) / 2;

            str += ",left=" + xc + ",screenX=" + xc;
            str += ",top=" + yc + ",screenY=" + yc;
        }
        str += ",scrollbars=Yes,dependent=Yes"
        //open(DoWhat.value, "remote", str);
        var wintoload4 = open(showflash, "ebizadminpopup",str);
        wintoload4.focus();
    }
}

function dialogTreeDel(id, folder)
{
    var rValue=showModalDialog(
        ('tpl/de')
        + '/dlg.treedel.html', dialogTreeDel.arguments,
        'resizable:yes;scroll:no;status=no;dialogHeight=85px;dialogWidth=433px;dialogTop=300px;dialogLeft=300px');
    if (rValue) location.href=rValue;
}

function help(ident)
{
    //alert (location.href.match(/\/admin\/(index\.php)?/));
    var w = popup2(400,300,'eaffhelp'), reg = /\/admin\/(index\.php)?/;
    w.location.href=(location.href.match(reg) ? '../' : '') + 'help_'+ident+'.html';
}

function suchform()
{
    layer = document.getElementById('suchform');
    status = layer.style.visibility;
    neu = 'visible';
    if(status == 'visible')
        neu = 'hidden';
    layer.style.visibility = neu;
}

//von jan
var pop = null;

function do_popdown() {
    if (pop && !pop.closed) pop.close();
}

function do_popup(obj) {
    var width = 400;
    var height = 250;
	
    if (arguments[1])
    {
        width = arguments[1];
    }
	
    if (arguments[2])
    {
        height = arguments[2];
    }
		
    var url = (obj.getAttribute) ? obj.getAttribute('href') : obj.href;
    if (!url) return true;
    var args = 'width='+width+',height='+height+',resizable=yes,top=150,left=200,scrollbars=yes,status=yes';
    do_popdown();
    pop = window.open(url,'',args);
    return (pop) ? false : true;
}


var api_key = 'ABQIAAAA0tXF1tJR1QgSG9HJf4lrjBQdTyYrkQQbm1riap6HwRLyrDuwORSeu-Ruz3kTCR15xMQx2T0Hea0TaQ';
var timer_qs;
var row_selection = -1;
var row_count = 0;
var row_list;
            
function presearch_quick(text_element, e, do_search){
    var key = (e ? (e.which ? e.which : e.keyCode) : 0);
    var text = text_element.value;
                
    // Key controls
    if ((key == 13) || (key == 27) || (key == 38) || (key == 40)) {
        if (key == 13) {
            // Return
            if (row_selection >= 0) {
                text_element.value = row_list[row_selection];
            }
            $('SEARCH').value = text_element.value;
            $('SEARCH_FORM').submit();
            return;
        }
        if (key == 27) {
            // Escape
            window.setTimeout(function(){
                $('list_offers').style.display = "none";
            }, 300);
            return;
        }
        if (key == 38)
            row_selection = row_selection - 1; // Up
        if (key == 40)
            row_selection = row_selection + 1; // Down
        if (row_selection >= row_count)
            row_selection = row_count - 1;
        if (row_selection < 0)
            row_selection = -1;
                    
        // Update selection
        var rows = $('list_offers').getElementsByTagName("tr");
        for (var row in rows) {
            if (row == row_selection)
                rows[row].className = "selected";
            else
                rows[row].className = "";
        }
        return;
    }
                
    $('SEARCH').value = text;
                
    // Hack for reducing request count
    if (!do_search && (text.length >= 3)) {
        window.clearTimeout(timer_qs);
        timer_qs = window.setTimeout(function(){
            presearch_quick(text_element, false, true);
        }, 500);
        return;
    }
                
    if (text.length >= 2) {
        new Ajax.Request("/index.php?page=artikel-suche&frame=ajax&SEARCH_AJAX=" + encodeURI(text), {
            method: 'get',
            onSuccess: function(transport){
                if (transport.responseJSON.fail) {
                    $('list_offers').style.display = "none";
                }
                else {
                    var table = document.createElement("table");
                    table.id = "list_offers";
                    table.className = "list_offers";
                    table.cellPadding = 0;
                    table.cellSpacing = 0;
                    table.style.position = "absolute";
                    $('div_offers').innerHTML = "";
                    $('div_offers').appendChild(table);
                                
                    row_count = 0;
                    row_list = new Array();
                                
                    for (var offer in transport.responseJSON.offers) {
                        var text = transport.responseJSON.offers[offer];
                        var row = document.createElement("tr");
                        var col = document.createElement("td");
                        var link = document.createElement("a");
                        // Click event
                        link.href = "javascript: $('SEARCH').value = \"" + text.replace('"', '\"') + "\"; $('SEARCH_FORM').submit();";
                        link.innerHTML = text;
                        // Add to table
                        col.appendChild(link);
                        row.appendChild(col);
                        if (row_count == row_selection)
                            row.className = "selected";
                        table.appendChild(row);
                        // Update "cache"
                        row_count = row_count + 1;
                        row_list.push(text);
                    }
                    Element.clonePosition($('list_offers'), text_element, {
                        offsetTop: 20
                    });
                    $('list_offers').style.display = "";
                }
            }
        });
    }
    else {
        $('list_offers').style.display = "none";
    }
                
    return;
}
            
function setBlobText(button, text, visible){
    var div_blob = $('blob');
    var tbl_blob = $('blobtable');
    var txt_blob = $('blobtext');
                
    if (text.length == 0)
        text = "Keine Hilfe vorhanden.";
                
    if (visible == true) {
        div_blob.show();
        div_blob.observe("click", function(){
            // initially hide all containers for tab content
            setBlobText(button, "", false);
        });
    }
    else {
        div_blob.hide();
    }
                
    txt_blob.update(text.replace("||", "<br />"));
                
    var height = txt_blob.getHeight() + 47;
    var width = 300;
                
    div_blob.clonePosition(button, {
        setWidth: false,
        setHeight: false,
        offsetLeft: 8,
        offsetTop: -height
    });
    tbl_blob.clonePosition(div_blob);
                
    tbl_blob.style.height = div_blob.style.height = height + "px";
    tbl_blob.style.width = div_blob.style.width = width + "px";
}

function zoomImageThumb(title) {
    jQuery('#img_large').attr('src', title);
    //$('img_large').src = title;
}

/** Bauday Javascript Library **/

function Bauday() {}
Bauday.loading = function(to) {
    jQuery(to).html('<div class="ajax-loading"><img src="/bilder/loading.gif" alt="Bitte warten sie.."  /></div>');
    
}
function BaudayFormular(id) {
    var elementId = id;

    this.post = function(url, callsuccess, callfail){
        jQuery(elementId + " .error").html("");
        jQuery.ajax({
            url: url,
            data: jQuery(elementId).serialize(),
            type: 'POST',

            success: function(response) {
                var data = jQuery.parseJSON(response);
                jQuery.each(data.error, function(index, value) {
                    jQuery(elementId + " [name="+index+"] + .error").html(value);
                });
                if(data.success == true) {
                    callsuccess.call();
                } else {
                    callfail.call();
                }
            }
        });
    }
    
    this.toggle = function(e1, e2, c1, c2, v) {
        if(jQuery(elementId + " [name="+v+"]").val() == c1) {
            var toEnable =  jQuery(elementId + " " + e1);
            var toDisable =  jQuery(elementId + " " + e2);
        } else {
            var toEnable =  jQuery(elementId + " " + e2);
            var toDisable =  jQuery(elementId + " " + e1);
        }

        toEnable.show();
        toEnable.find("input, select").each(function() {
            jQuery(this).removeAttr("disabled");
        });

        toDisable.find("input, select").each(function() {
            jQuery(this).attr("disabled","disabled");
        });
        toDisable.hide();
    }

    this.toggleField = function(v, c1, e1, e2) {
        if(jQuery(elementId + " [name="+v+"]").val() == c1) {
            var toEnable =  jQuery(e1);
            var toDisable =  jQuery(e2);
        } else {
            var toEnable =  jQuery(e2);
            var toDisable =  jQuery(e1);
        }

        if(toEnable != null) {
            toEnable.show();
            toEnable.find("input, select").each(function() {
                jQuery(this).attr("disabled", false);
            });
        }
        if(toDisable != null) {
            toDisable.find("input, select").each(function() {
                jQuery(this).attr("disabled","disabled");
            });
            toDisable.hide();
        }
    }

    this.isFieldDisabled = function(f) {
        return jQuery(elementId + " [name="+f+"]").is(":disabled");
    }

    this.validate = function(fields) {
        var validation = true
        var validator = new BaudayValidator();
        var formular = this;

        jQuery.each(fields, function(index, value) {
            var v = jQuery(elementId + " [name="+index+"]").val();
            
            if(index == "empty") {
                jQuery.each(value, function(i, fieldName) {
                    var v = jQuery(elementId + " [name="+fieldName+"]").val();
                    jQuery(elementId + " [name="+fieldName+"] + .error").html("");

                    if((!validator.empty(v)) && (!formular.isFieldDisabled(fieldName))) {
                        validation = false;
                        jQuery(elementId + " [name="+fieldName+"] + .error").html("Pflichtfeld nicht ausgef&uuml;llt");
                    }
                });
            } if(index == "checkbox") {
                jQuery.each(value, function(i, fieldName) {
                    var v = jQuery(elementId + " [name="+fieldName+"]").is(':checked');
                    jQuery(elementId + " [name="+fieldName+"] + .error").html("");

                    if(!(v) && (!formular.isFieldDisabled(fieldName))) {
                        validation = false;
                        jQuery(elementId + " [name="+fieldName+"] + .error").html("Pflichtfeld nicht ausgef&uuml;llt");
                    }
                });
            } else if(index == "fullAge") {
                var d = jQuery(elementId + " [name="+value.day+"]").val();
                var m = jQuery(elementId + " [name="+value.month +"]").val();
                var y = jQuery(elementId + " [name="+value.year +"]").val();

                jQuery(elementId + " [name="+ value.year +"] + .error").html("");

                if(!validator.fullAge(d, m, y) && (!formular.isFieldDisabled(value.year))) {
                    validation = false;
                    jQuery(elementId + " [name="+value.year+"] + .error").html("Sie m&uuml;ssen vollj&auml;hrig sein");
                }
               
            } else if(index == "equal") {
                var v1 = jQuery(elementId + " [name="+value[0] +"]").val();
                var v2 = jQuery(elementId + " [name="+value[1] +"]").val();

                jQuery(elementId + " [name="+ value[1] +"] + .error").html("");

                if(!validator.equal(v1, v2) && (!formular.isFieldDisabled(value[1]))) {
                    validation = false;
                    jQuery(elementId + " [name="+value[1] +"] + .error").html("Die Angaben sind nicht identisch");
                }

            } else if(index == "username") {
                var v = jQuery(elementId + " [name="+ value +"]").val();

                jQuery(elementId + " [name="+ value +"] + .error").html("");
                validator.username(v, function(e) {
                    if(!e && (!formular.isFieldDisabled(value))) {
                        validation = false;
                        jQuery(elementId + " [name="+value +"] + .error").html("Benutzername ist schon vergeben");
                    }
                });

            } else if(index == "secure") {
                var v = jQuery(elementId + " [name="+ value.a +"]").val();
                var i = jQuery(elementId + " [name="+ value.q +"]").val();

                jQuery(elementId + " [name="+ value.a +"] + .error").html("");
                validator.secure(v, i, function(e) {
                    if(!e && (!formular.isFieldDisabled(value.a))) {
                        validation = false;
                        jQuery(elementId + " [name="+value.a +"] + .error").html("Sicherheitscode ist falsch");
                    }
                });

            } else if(index == "email") {
                var v = jQuery(elementId + " [name="+ value +"]").val();

                jQuery(elementId + " [name="+ value +"] + .error").html("");
                validator.email(v, function(e) {
                    if(!e && (!formular.isFieldDisabled(value))) {
                        validation = false;
                        jQuery(elementId + " [name="+value +"] + .error").html("E-Mail Adresse ungültig oder belegt");
                    }
                });

            }
            
        });   
        return validation;
    }
}
function BaudayStepTab(id) {
    var elementId = id;
    var activeIndex = 0;

    this.enableNextTab = function() {
        var selectedTab = jQuery(elementId + " .ui-tabs-panel:visible");
        var selectedNextTabId = selectedTab.next(".ui-tabs-panel").attr("id");

        jQuery(elementId).tabs("enable", (activeIndex+1));
        jQuery(elementId).tabs("select", selectedNextTabId);
        jQuery(elementId).tabs("disable", activeIndex);
        activeIndex++;
    }
    this.enablePreviousTab = function() {
        var selectedTab = jQuery(elementId + " .ui-tabs-panel:visible");
        //var selectedTabId = selectedTab.attr("id");
        var selectedPreviousTabId = selectedTab.prev(".ui-tabs-panel").attr("id");

        jQuery(elementId).tabs("enable", (activeIndex-1));
        jQuery(elementId).tabs("select", selectedPreviousTabId);
        jQuery(elementId).tabs("disable", activeIndex);
        activeIndex--;
    }
};

function BaudayAutocomplete(id) {
    var elementId = id;

    this.location = function(callSelect) {
        jQuery(elementId).autocomplete({
            source: "autocomplete_location.htm",
            minLength: 2,
            select: function(ui, event) {callSelect.call(ui, event); }
        }).data( "autocomplete" )._renderItem = function( ul, item ) {
            return jQuery( "<li></li>" )
                .data( "item.autocomplete", item )
                .append( "<a>" + item.label + "<br /><span class='bauday-autocomplete-path'>" + item.path + "</span></a>" )
                .appendTo( ul );
        };
    };

    this.clear = function() {
        jQuery(elementId).val("");
    }
};

function BaudayAdLocation(id, aId, aKatId) {
    var elementId = id;
    var adId = aId;
    var adKatId = aKatId;

    this.init = function() {
        jQuery(elementId).find("a").live('click', function() {
            var lid = jQuery(this).attr("rel");
            jQuery(elementId).load("marktplatz_neu_location_ajax.htm?id=" + adId + "&katId=" + adKatId + "&action=delete", {'locationId': lid });
            return false;
        });        
    }

    this.reload = function() {
        jQuery(elementId).load("marktplatz_neu_location_ajax.htm?id=" + adId + "&katId=" + adKatId);
    }


}

function BaudayValidator() {

    this.equal = function(a,b) {
        return (a == b);
    }
    this.empty = function(a) {
        if(a == "") { return false; } else { return true; };
    }
    this.checkbox = function(a) {
        return (a == "ON");
    }
    this.minLength = function(a, l) {
        return (strlen(a) > l);
    }
    this.maxLength = function(a, l) {
        return (strlen(a) < l);
    }
    this.maxLength = function(a, l) {
        return (strlen(a) < l);
    }
    this.fullAge = function(d, m, y) {
        return (y < 1992);
    }
    this.username = function(v, cb) {
       // var e = false;
        return jQuery.ajax({
            'url': '/validator.htm',
            'type': 'POST',
            'async': false,
            'data': {'validator': 'username', 'value': v},
            'success': function(r) {
                var data = jQuery.parseJSON(r);     
                cb.call(this, data.success);
            }
        });

    }
    this.secure = function(v,i, cb) {
       // var e = false;
        return jQuery.ajax({
            'url': '/validator.htm',
            'type': 'POST',
            'async': false,
            'data': {'validator': 'secure', 'value': v, 'ID_Q': i},
            'success': function(r) {
                var data = jQuery.parseJSON(r);
                cb.call(this, data.success);
            }
        });

    }
    this.email = function(v, cb) {
       // var e = false;
        return jQuery.ajax({
            'url': '/validator.htm',
            'type': 'POST',
            'async': false,
            'data': {'validator': 'email', 'value': v},
            'success': function(r) {
                var data = jQuery.parseJSON(r);
                cb.call(this, data.success);
            }
        });

    }
}



