function sujetbildstartseite(unterseite, bildlink) {
    var datum = new Date();
    var monat = datum.getMonth();  
    monat++;     
        if(unterseite=='nein'){
                if(monat>"3" && monat<"11" ){
                             document.write("<img src='"+bildlink+"sommerbild.jpg' title='Startseitenbild Sommer' alt='Startseitenbild Sommer'  id='sujet_startseite' />");}
                 else {document.write("<img src='"+bildlink+"winterbild.jpg' title='Startseitenbild Winter' alt='Startseitenbild Winter'  id='sujet_startseite' />");}
                         }
            else {
                      if(monat>"3" && monat<"11" ){
                 document.write("<img src='"+bildlink+"sujet_sommer.jpg' title='Sujet Sommer' alt='Sujet Sommer'  id='sujet' />");}
                 else {document.write("<img src='"+bildlink+"sujet_winter.jpg' title='Sujet Winter' alt='Sujet Winter'  id='sujet' />");}
                         } 
    }
 
function navlihover() {     
  if (document.getElementById('subnav')){
    var navlis = document.getElementById('subnav').getElementsByTagName("LI");
    for (var i=0; i<navlis.length; i++) {
            navlis[i].onmouseover=function() {
                    this.className+=" lihover"; }
            navlis[i].onmouseout=function() {
                    this.className=this.className.replace(new RegExp("lihover\\b"), "");}
    }
}
        if (document.getElementById('nav')){
    var navlis = document.getElementById('nav').getElementsByTagName("LI");
    for (var i=0; i<navlis.length; i++) {
            navlis[i].onmouseover=function() {
                    this.className+=" lihover"; }
            navlis[i].onmouseout=function() {
                    this.className=this.className.replace(new RegExp("lihover\\b"), "");}
    }
}

}
window.onload = navlihover;

function aktivieren(element) {
    oldClass = element.className;
    element.className = oldClass+' activate';
    if (!element.onmouseout) {
        element.onmouseout = function (event) { element.className=oldClass; };
    }
}
    

// Findet die absolute y Position eines Elementes raus
function getAbsoluteY(elm){
   var y = 0;
   if (elm && typeof elm.offsetParent != "undefined") {
     while (elm && typeof elm.offsetTop == "number") {
       y += elm.offsetTop;
       elm = elm.offsetParent;
     }
   }
   return y;
}    

// Findet die absolute x Position eines Elementes raus
function getAbsoluteX(xln){
   var x = 0;
   if (xln && typeof xln.offsetParent != "undefined") {
     while (xln && typeof xln.offsetLeft == "number") {
       x += xln.offsetLeft;
       xln = xln.offsetParent;
     }
   }
   return x;
}    
    
                    

function aktivierenma(element,name) {      

    oldClass = element.className;
    element.className = oldClass+' activate';
    bildid = "m"+name;    
    bild = document.getElementById(bildid); 
    var elm = document.getElementById("id"+name);      
    
    var y = getAbsoluteY(elm);                          // herausfinden des y werts 
    var xln = getAbsoluteX(elm);                   // herausfinden des x werts
    ynew = Number(y)-210;
    xnew = Number(xln); 
    
    inhalt = document.getElementById('content');
    contentweite = inhalt.offsetWidth - xnew-200;  
    
    if(contentweite<220)  
            {xnew = xnew -240;} 
            else{xnew = xnew+200;}
             bild.style.display = "block";
       
            
    bild.style.top = ynew+"px";
    bild.style.left = xnew+"px";       
    
        if (!element.onmouseout) {
        element.onmouseout = function (event) { element.className=oldClass; 
                                                bild = document.getElementById(bildid);
                                                bild.style.display = "none";                                                  
                                                };
    }
}
 

function getAdr(prefix, postfix, text) {
        document.write('<a href="mailto:' + prefix + '@' + postfix + '">' + (text ? text.replace(/&quot;/g, '"').replace(/%EMAIL%/, prefix + '@' + postfix) : prefix + '@' + postfix) + '</a>');
}

function swapImage(element, newimage) {    

    var oldsrc = element.src
    element.src = newimage       
    if (!element.onmouseout)
        element.onmouseout = function (event) { swapImage(this, oldsrc); };
}


var popupmenuoldonload = window.onload;
window.onload = function() {
    var nav = document.getElementById('nav');
    var uls = nav.getElementsByTagName('UL');
    for(var i = 0; i < uls.length; i++)
        new xMenu1(uls[i], 0, 'mouseover');
    if(popupmenuoldonload)
        popupmenuoldonload();
}

function xMenu1(menu, mouseMargin, openEvent) {
    var isOpen = false;
        var oldover, oldout, aObj, aClassName, img;
    if (menu) {
        xAddEventListener(menu.parentNode, openEvent, onOpen, false);
        aObj = menu.parentNode.firstChild;
                aClassName = aObj.className;
                img = aObj.firstChild;
        if(img)
            if (img.onmouseover) {
                oldover = img.onmouseover;
                img.onmouseover = '';
            }
    }
    function onOpen() {
        if (!isOpen) {
            aObj.className = 'hover';
                        xShow(menu);
            HideSelects(xPageX(menu), xPageY(menu), xWidth(menu), xHeight(menu));
            xAddEventListener(document, 'mousemove', onMousemove, false);
            isOpen = true;
            if (oldover) {
                oldover.apply(img, arguments);
                if (!oldout)
                    oldout = img.onmouseout;
                img.onmouseout = function () { };
            }
        }
    }
    function onMousemove(ev) {
        var e = new xEvent(ev);
        contains = (xHasPoint(menu, e.pageX, e.pageY, -mouseMargin) || xHasPoint(menu.parentNode, e.pageX, e.pageY, -mouseMargin));
        if(!contains) {
            var submenus = menu.getElementsByTagName('UL');
            for(var i = 0; i < submenus.length; i++)
                if(xHasPoint(submenus[i], e.pageX, e.pageY, -mouseMargin)) {
                    contains = true;
                    break;
                }
        }
        if(!contains) {
                        aObj.className = aClassName;
            xHide(menu);
            HideSelects(0, 0, 0, 0);
            xRemoveEventListener(document, 'mousemove', onMousemove, false);
            isOpen = false;
            if (oldout)
                oldout.apply(img, arguments);
        }
    }
}

var sel;
function HideSelects(x,y,w,h) {
    if(xIE4Up && !xMac) {
        var selx, sely, selw, selh, i
        if(!sel)
            sel = document.getElementsByTagName("SELECT");
        for(i = 0; i < sel.length; i++) {
            selx = xPageX(sel[i]);
            sely = xPageY(sel[i]);
            selw = sel[i].offsetWidth;
            selh = sel[i].offsetHeight;
            sel[i].style.visibility = (selx + selw > x && selx < x + w && sely + selh > y && sely < y + h) ? "hidden" : "visible";
        }
    }
}


// deletes leading and trailing spaces in a string - adds the function directly to the String Object, so that all strings inherit this method
String.prototype.trim = function() {
    return this.replace(/(^\s*)|(\s*$)/g, '');
}

//checkEmail - needed for forms
function checkEmail(val) {
    if (val) {
        var usr = "([a-zA-Z0-9][a-zA-Z0-9_.-]*|\"([^\\\\\x80-\xff\015\012\"]|\\\\[^\x80-\xff])+\")";
        var domain = "([a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*[a-zA-Z0-9][a-zA-Z0-9._-]*\\.[a-zA-Z]{2,5}";
        var regex = "^"+usr+"\@"+domain+"$";
        var myrxp = new RegExp(regex);
        var check = (myrxp.test(val));
        if (check!=true) {
            return false;
        }
        else {
            return true;
        }
    }
}

/*
validates formfields if they have a value or not
to check for other options do the following
specialfields = new Object();
specialfields.fieldname = new Object();
specialfields.fieldname.check1 = 'function_to_call,error_message';
specialfields.fieldname.check2 = 'second_function_to_call,second_error_message';
specialfields.another_fieldname = new Object();
specialfields.another_fieldname.check1 = 'function_to_call,error_message';
*/
function validateForm(form,specialfields) {
    var errors = new Array();
    var fields = form.getElementsByTagName('label');
    for (i = 0; i < fields.length; i++) {
        var span = fields[i].getElementsByTagName('span')[0];
        if (span && span.firstChild) {
            var label = span.firstChild.data;
            label = label.trim();
            // if there is a '*' in the label - this indicates the inputfield has to be filled
            if (label.charAt(label.length - 1) == '*') {
                label = label.substring(0, label.length - 1).trim();
                // get the inputfield
                var obj_input = fields[i].getElementsByTagName('input');
                if (!obj_input[0])
                    obj_input = fields[i].getElementsByTagName('select');
                if (!obj_input[0])
                    obj_input = fields[i].getElementsByTagName('textarea');

                // if there is an inputfield
                if (obj_input && obj_input[0]) {
                    input = obj_input[0];
                    error = false;
                    
                    // check if the inputfield has a value
                    if (!input.value || input.value.trim().length==0) {
                        error = true;
                        errors.push(label + ' nicht eingegeben');
                    }
                    
                    // check the inputfield for special things (email, ...)
                    if (!error && specialfields[input.name]){
                        specialfield = specialfields[input.name];
                        for (check in specialfield){
                            check_function = specialfield[check].split(',')[0];
                            check_message = specialfield[check].split(',')[1];
                            if (!eval(check_function)(input.value)){
                                error = true;
                                errors.push(label + ' ' + check_message);
                            }
                        }
                    }

                    // on error give the label the className 'error' otherwise delete the className 'error' (if exists)
                    if (error) {
                        className = fields[i].className;
                        if (className.length>0){
                            className = className + ' ';
                        }
                        fields[i].className = className + 'error';
                    } else {
                            className = fields[i].className;
                        if (className.indexOf('error')>-1){
                                className = className.replace(' error', '');
                                className = className.replace('error', '');
                                fields[i].className = className;
                        }
                    }
                }
            }
        }
    }

    return errors;
}

function showFormErrors (errors) {
    error_message = '';
    for (i=0;i<errors.length;i++){
        error_message += errors[i] + '\n';
    }
    alert(error_message);
}


function popup(url, typ, para1, width, height) {
    attrib = "";
    Y = (screen.height - width) / 2;
    X = (screen.width - height) / 2;
    X = Math.round(X);
    Y = Math.round(Y);
    if (para1 == 'CENTER') attrib += 'height=' + height + ',width=' + width + ',top=' + Y + ',left=' + X;
    if (typ == 'TYP1') attrib += ",scrollbars=yes, resizable=yes";
    if (typ == 'TYP2') attrib += ",scrollbars=yes";
    if (typ == 'TYP3') attrib += ",scrollbars=yes,menubar=yes";
    fenster = window.open(url, 'win', attrib);
    return false;
}


startpiconload = window.onload;
startpiconresize = window.onresize;

window.onload = window.onresize = function() {
    changeStartPicSize();
    if(startpiconload)
        startpiconload();
    if(startpiconresize)
        startpiconresize();
}

function changeStartPicSize() {
    startpicdiv = document.getElementById('bild_startseite');
    startpic = document.getElementById('sujet_startseite');
    if (startpic) {
        if ((startpicdiv.offsetWidth / startpicdiv.offsetHeight) > (startpic.width / startpic.height)) {
            startpic.className= '';
        } else {
            startpic.className= 'stechheigth';
        }
    }
}



//Bildergalerie    
    
function ShowGallery(id)
{
    for(i=0;i<gallerypix.length;i++)
    {
        document.getElementById('galpic_'+gallerypix[i]).style.display='none'
    }

    document.getElementById('galpic_'+gallerypix[id]).style.display='block'
}
  




