// Login: Challenge-Response-Authentifikation ausfuehren
function cmslogin(f) {
    if ( f.elements['username'].value.length && f.elements['password'].value.length ) {
        f.elements['response'].value = MD5(f.elements['password'].value);
        f.elements['password'].value = "";
        f.submit();
    }
}

function cmslogoff(f) {
    f.submit();
}

function setwin() {
    var dw = document.body.offsetWidth;
    while (isNaN(dw))
    {
        dw = dw.substr(0,dw.length-1);
    }
    difw = dw - document.body.clientWidth;
    win_x = document.body.scrollWidth+difw;

    var dh = document.body.offsetHeight;
    while (isNaN(dh))
    {
        dh = dh.substr(0,dh.length-1);
    }
    difh = dh - document.body.clientHeight;
    win_y = document.body.scrollHeight+difh;
    scr_x = screen.width;
    scr_y = screen.height;
    if ( scr_x < win_x ) win_x = scr_x-8;
    if ( scr_y < win_y ) win_y = scr_y-32;
    window.resizeTo(win_x+6,win_y+48);
}

function set_var(field, val) {
    frm = document.forms;
    if (frm.length) {
        for ( z=0; z<frm.length; z++ ) {
            if (frm[z].elements.length) {
                if ( frm[z].elements[field] ) {
                    frm[z].elements[field].value = val;
                }
            }
        }
    }
}

function redirect(url) {
    document.location.href=url;
}

function menu_hide_forms()
{
    for (var a=0; a<document.forms.length; a++)
    {
        for (var b=0; b<document.forms[a].elements.length; b++)
        {
            document.forms[a].elements[b].style.visibility="hidden";
        }
    }
}

function menu_show_forms()
{
    for (var a=0; a<document.forms.length; a++)
    {
        for (var b=0; b<document.forms[a].elements.length; b++)
        {
            document.forms[a].elements[b].style.visibility="visible";
        }
    }
}

var flag = 0;
function checkForm() {
    document.gbook['gb[name]'].value=trim(document.gbook['gb[name]'].value);
    document.gbook['gb[text]'].value=trim(document.gbook['gb[text]'].value);
    if(document.gbook['gb[name]'].value == "") {
        alert("Sie haben noch keinen Namen eingegeben!");
        document.gbook['gb[name]'].focus();
        return false;
    }
    if(document.gbook['gb[text]'].value == "") {
        alert("Sie haben noch keinen Beitrag eingeben!");
        document.gbook['gb[text]'].focus();
        return false;
    }
    if(document.gbook['gb[title]'].value == "") {
        alert("Sie haben noch keinen Titel eingeben!");
        document.gbook['gb[title]'].focus();
        return false;
    }
    if(document.gbook['gb[code]'].value == "") {
        alert("Sie haben keinen Code angegeben.");
        document.gbook['gb[code]'].focus();
        return false;
    }
    if(document.gbook['gb[text]'].value.length<6 || document.gbook['gb[text]'].value.length>2000) {
        alert("Der Beitrag ist entweder zu kurz oder zu lang.");
        document.gbook['gb[text]'].focus();
        return false;
    }
    flag = 1;
    return true;
}
function trim(value) {
    startpos=0;
    while((value.charAt(startpos)==" ")&&(startpos<value.length)) {
        startpos++;
    }
    if(startpos==value.length) {
        value="";
    } else {
        value=value.substring(startpos,value.length);
        endpos=(value.length)-1;
        while(value.charAt(endpos)==" ") {
            endpos--;
        }
        value=value.substring(0,endpos+1);
    }
    return(value);
}
function emoticon(text) {
    text = ' ' + text + ' ';
    if (document.gbook['gb[text]'].createTextRange && document.gbook['gb[text]'].caretPos) {
        var caretPos = document.gbook['gb[text]'].caretPos;
        caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
        document.gbook['gb[text]'].focus();
    } else {
        document.gbook['gb[text]'].value  += text;
        document.gbook['gb[text]'].focus();
    }
}
function showpic(url) {
    var aWin = window.open(url,"userfile","width=400,height=400,left=0,top=0,scrollbars=yes,resizable=yes");
}

var cmsmenus = {

    elements : [],

    add : function(src_id, tgt_id, droppos, offset, nested) {
        var srcel = document.getElementById(src_id);
        var tgtel = document.getElementById(tgt_id);
        if ( srcel && tgtel ) {
            this.elements[this.elements.length] = src_id;
            this.elements[this.elements.length] = tgt_id;
            srcel.tgtitem = new Object();
            srcel.tgtitem.id = tgt_id;
            srcel.offset     = offset;
            srcel.droppos    = droppos;
            srcel.nested     = nested ? true : false;
            srcel.onmouseover = function() {
                cmsmenus.showsrc(this.id);
            }
            srcel.onmouseout = function() {
                document.getElementById(this.tgtitem.id).vis = false;
                window.setTimeout("cmsmenus.hidesrc('"+this.id+"')", 50);
            }
        }
    },

    showsrc : function(el) {
        var src = document.getElementById(el);
        var tgt = document.getElementById(src.tgtitem.id);
        var pos = cmsmenus.getelpos(src);
        tgt.style.left    = pos[0]+"px";
        tgt.style.top     = pos[1]+"px";
        tgt.style.display = 'block';
        tgt.vis           = true;
        tgt.onmouseover = function() {
            this.vis = true;
        }
        tgt.onmouseout = function() {
            this.vis = false;
            window.setTimeout("cmsmenus.hidetgt('"+this.id+"')", 50);
        }
    },

    hidesrc : function(el) {
        var src = document.getElementById(el);
        var tgt = document.getElementById(src.tgtitem.id);
        if (tgt.vis) return;
        tgt.style.display = 'none';
        window.clearTimeout();
    },

    hidetgt : function(el) {
        var tgt = document.getElementById(el);
        if (tgt.vis) return;
        tgt.style.display = 'none';
        window.clearTimeout();
    },

    getelpos : function(el) {
        if ( el.nested ) {
            return([el.clientWidth,el.offsetTop]);
        }
        var xpos = ypos = 0;
        var x = y = 0;
        var o_el = el;
        if ( !el.offset ) el.offset = [0,0];

        if ( document.getElementById ) {
            if ( !el ) {
                x = 0;
                y = 0;
            }
            xpos = el.offsetLeft;
            ypos = el.offsetTop;
            while( (el = el.offsetParent) != null ) {
                if (el.style && el.style.display=="none") {
                    el.style.display="block";
                }
                xpos += el.offsetLeft;
                ypos += el.offsetTop;
            }
        } else {
            x = 0;
            y = 0;
        }

        switch(o_el.droppos) {
            case "tl":
            break;
            case "tr":
            xpos = xpos+o_el.offsetWidth;
            break;
            case "bl":
            ypos = ypos+o_el.offsetHeight;
            break;
            case "br":
            xpos = xpos+o_el.offsetWidth;
            ypos = ypos+o_el.offsetHeight;
            break;
            default:
            break;
        }
        x = xpos+o_el.offset[0];
        y = ypos+o_el.offset[1];
        return([x,y]);
    }
}

var dynmenu = cmsmenus;

window.onunload = function() {
    for ( z=0; z<dynmenu.elements.length; z++) {
        el = document.getElementById(dynmenu.elements[z]);
        el.vis = null;
        el.tgtitem = null;
        el.nested = null;
        el.offset  = null;
        el.droppos = null;
        el.onmouseover = null;
        el.onmouseout = null;
    }
    dynmenu = null;
}

function embedflash(src, w, h) {
    var oeTags = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'
    + 'width="'+w+'" height="'+h+'"'
    + 'data="'+src+'"'
    + 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">'
    + '<param name="movie" value="'+src+'" />'
    + '<param name="loop" value="false"/>'
    + '<param name="menu" value="false" />'
    + '<param name="quality" value="high" />'
    + '<param name="wmode" value="transparent" />'
    + '<embed src="'+src+'" quality="high" wmode="transparent" width="'+w+'" height="'+h+'" name="obj" align="" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>'
    + '<\/object>';
    document.write(oeTags);
}

function getelpos(el, droppos) {
    if(!droppos) droppos = "tl";
    var xpos = ypos = 0;
    var x = y = 0;
    var o_el = el;

    if ( document.getElementById ) {
        if ( !el ) {
            x = 0;
            y = 0;
        }
        xpos = el.offsetLeft;
        ypos = el.offsetTop;
        while( (el = el.offsetParent) != null ) {
            if (el.style && el.style.display=="none") {
                el.style.display="block";
            }
            xpos += el.offsetLeft;
            ypos += el.offsetTop;
        }
        x = xpos;
        y = ypos;
    } else {
        x = 0;
        y = 0;
    }
    switch(droppos) {
        case "tl":
        break;
        case "tr":
        x = x+o_el.offsetWidth;
        break;
        case "bl":
        y = y+o_el.offsetHeight;
        break;
        case "br":
        x = x+o_el.offsetWidth;
        y = y+o_el.offsetHeight;
        break;
        default:
        break;
    }
    return([x,y]);
}

var linkstatus = false;
function setlink(el, mode, pos) {
    if(!mode) mode = "none";
    if(!pos) pos = "tl";
    var el_ = document.getElementById(el);
    if(el_) {
        if(!el_.inPosition) {
            el_.orgborder = el_.style.border;
            el_.orgmargin = el_.style.margin;
            var coord = getelpos(el_.parentNode, pos);
            window.status = coord[0]+" : "+coord[1];
            el_.style.left = coord[0]+"px";
            el_.style.top  = coord[1]+"px";
            el._inPosition = true;
        }
        if (mode=='block') {
            el_.parentNode.style.border = mode=='block' ? '1px dashed #FF0000' : el_.orgborder;
            el_.parentNode.style.margin = mode=='block' ? '-1px' : el_.orgmargin;
            el_.style.display = mode;
            el_.vis = true;
        } else {
            el_.vis = false;
            window.setTimeout("remlink('"+el+"', '"+mode+"', '"+pos+"')", 300);
        }
    }
}

function remlink(el, mode, pos) {
    if(!mode) mode = "none";
    if(!pos) pos = "tl";
    var el_ = document.getElementById(el);
    window.status=el_.vis;
    if (el_.vis==true) return;
    el_.parentNode.style.border = mode=='block' ? '1px dashed #FF0000' : el_.orgborder;
    el_.parentNode.style.margin = mode=='block' ? '-1px' : el_.orgmargin;
    el_.style.display = mode;
}

function countcookies(type){
    usedcookies = 0;
    if(document.cookie) {
        c = decodeURI(document.cookie);

        //   alert (c);
        var cookies = c.split(";");
        var newcookie = new Array();
        for (var d=0; d<cookies.length; d++ ) {
            var cbegin = cookies[d].indexOf(type);
            var cookie = cookies[d].split('=');
            if (cbegin >= 0) {
                if (cookie.length>1) {
                    //alert(cookie[1]);
                    var cookiepc = cookie[1].split('|');
                    var usedcookies = cookiepc.length;
                }
            }
        }
    }
    return(usedcookies);
}

var cname = "app";
function save(v) {
    var cnt = 0;
    addcookie(cname, v);
    var cnt = countcookies(cname);
    var cnttag = document.getElementById('memocount');
    if ( cnttag ) cnttag.innerText = cnt;
}

function remove(v) {
    var cnt = 0;
    removecookie(cname, v);
    var cnt = countcookies(cname);
    var cnttag = document.getElementById('memocount');
    if ( cnttag ) cnttag.innerText = cnt;
}

function addcookie(type, v) {
    c = decodeURI(document.cookie);
    var cookies = c.split(";");
    var newcookie = new Array();
    for (var d=0; d<cookies.length; d++ ) {
        var cbegin = cookies[d].indexOf(type);
        var cookie = cookies[d].split('=');
        var cookiename = cookie[0].replace(/ /,"");
        if (cbegin >= 0) {
            newcookie[cookiename] = new Array();
            if (cookie.length>1) {
                var count = 0;
                var oldcookie = cookie[1].split('|');
                for (var dd = 0; dd<oldcookie.length; dd++ ) {
                    var val = oldcookie[dd];
                    //alert (val);
                    if ( val != '' && val!=v ){
                        newcookie[cookiename][count]=val;
                        count++;
                    }
                }
                newcookie[cookiename][count]=v;
                //alert('newcookie['+cookiename+']['+dd+']='+v);
            }
        }
    }
    if ( !newcookie[type] ) {
        newcookie[type] = new Array();
        newcookie[type][0]=v;
    }
    if (newcookie[type].length == 0) {
        newcookie[type][0]=v;
    }
    //alert(newcookie[type]);
    var finalcookie = newcookie[type];
    c = type+'='+encodeURI(finalcookie.join("|"));

    // c = c + "; path=/";
    //  c = c +"; expires=" + cookieDate.toGMTString();
    document.cookie = c;
}

function removecookie(type, v) {
    c = decodeURI(document.cookie);
    var cookies = c.split(";");
    var newcookie = new Array();
    var removecookie = new Array();
    for (var d=0; d<cookies.length; d++ ) {
        var cbegin = cookies[d].indexOf(type);
        var dd = 0;
        if (cbegin >= 0) {
            var cookie = cookies[d].split('=');
            if (cookie.length>1) {
                var oldcookie = cookie[1].split('|');
                var z=0;
                for (var dd = 0; dd<oldcookie.length; dd++ ) {
                    var val = oldcookie[dd];
                    if ( val != '' && val!=v ){
                        newcookie[z]=val;
                        z++;
                    }
                }
            }
        }
    }
    c = type+'='+encodeURI(newcookie.join("|"));
    document.cookie = c;
}

function hoverpic(pic) {
    var picsrc = pic.src;
    var saved = picsrc.indexOf("anfractive");
    if (saved<0) {
        pic.src = hostname+"pics/anfrinactivehover.gif";
    }
}

function rehoverpic(pic) {
    var picsrc = pic.src;
    var saved = picsrc.indexOf("anfractive");
    if (saved<0) {
        pic.src = hostname+"pics/anfrinactive.gif";
    }
}

function owin2(url,name,w,h,hstyle) {
    var win;
    var fr = url.indexOf("_FRAME");
    if (!hstyle && fr<0) url=url+"&_FRAME=64";
    win = window.open(url,name,'width='+w+',height='+h+',scrollbars=1,resizable=1');
    win.focus();
    checkOpen(win);
    return(win);
}

function owin(url,name,w,h,hstyle) {
    var win;
    var fr = url.indexOf("_FRAME");
    if (!hstyle && fr<0) url=url+"&_FRAME=64";
    win = window.open(url,name,'width='+w+',height='+h+',scrollbars=1,resizable=1');
    win.focus();
    return(win);
}

function checkOpen(win) {
    if (win.closed == true) {
        window.clearTimeout(aktiv);
        var curl = document.getElementById('curl');
        if ( curl ) {
            alert(document.location.href);
            alert(curl.value);
            document.location.href = curl.value;
        } else {
            location.reload();
        }
    } else {
        aktiv = setTimeout(function(){checkOpen(win);},20);
    }
}

function vsubmit(i,j) {
    set_var(i,j);
    document.forms[0].submit();
}

function set_var(i,j) {
    var e = document.forms[0].elements[i];
    if ( e ) switch( e.type ) {
        case "checkbox" : if ( j ) e.value=j; e.checked = ( j!="" ); break;
        case "radio"    : for(var k=0; k<e.length; k++) e[k].checked = (e[k].value==j); break;
        case "select"   : for(var k=0; k<e.options.length; k++) e.options[k].selected = (e.options[k].value==j); break;
        default         : e.value=j; break;
    }
}

function opread(i) {
    if ( opener ) o = opener;
    else if ( top && top.opener ) o = top.opener;
    else return('');
    return( o.get_var(i) );
}

function get_var(i) {
    var e = document.forms[0].elements[i];
    var j=0;
    var rv="";
    if ( e && e.length && e.type!="select-one" ) {
        for(j=0;j<e.length; j++) switch(e[j].type) {
            case "checkbox"   : rv=( e[j].checked ? e[j].value : "" ); break;
            case "radio"      : if ( e[j].checked ) rv=e[j].value; break;
            case "select-one" :
            case "select"     : rv=e[j].options[e[j].options.selectedIndex].value; break;
            default           : rv=e[j].value; break;
        }
        return(rv);
    } else if ( e ) switch(e.type) {
        case "checkbox"   : return( e.checked ? e.value : "" ); break;
        case "radio"      : for(var k=0; k<e.length; k++) if ( e[k].checked ) return( e[k].value ); break;
        case "select-one" :
        case "select"     : return( e.options[e.options.selectedIndex].value ); break;
        default           : return( e.value ); break;
    }
    return(0);
}

function opreload() {
    window.close(); return;
    if ( opener.document ) {
        var curl = opener.document.getElementById('curl');
        if ( curl ) {
            opener.document.location.href = curl.value;
        } else {
            opener.document.location.href=opener.document.location.href;
        }
    }
    top.close();
    if ( opener.document ) {
        opener.focus();
    }
}

function resetextfields(frmname) {
    for ( var z=0; z<document.forms[frmname].elements.length; z++) {
        if (document.forms[frmname].elements[z].type=="text") document.forms[frmname].elements[z].value='';
        if (document.forms[frmname].elements[z].type=="select-one") document.forms[frmname].elements[z].selectedIndex=-1;
        if (document.forms[frmname].elements[z].type=="checkbox") document.forms[frmname].elements[z].checked=false;
    }
    document.forms[frmname].submit();
}

function appendurl(link, append) {
    var urlparams = link.split('#');
    url = urlparams[0]+'&'+append;
    return(url);
}

