// (c) 2005-12-04 by M.E. Koch http://www.adoptimize.de
// Javascript fuer die Abarbeitung der E-Mails
// *


    function createMailXMLHttpRequest() {
        var ua;

        if(window.XMLHttpRequest) {
            try {
                    ua = new XMLHttpRequest();
                } catch(e) {
                    ua = false;
                }
        } else if(window.ActiveXObject) {
            try {
                    ua = new ActiveXObject("Microsoft.XMLHTTP");
            } catch(e) {
                    ua = false;
            }
       }
       return ua;
    } 
    var req = createMailXMLHttpRequest(); 
    var response;
    var rMail  = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)(\\@)([a-zA-Z0-9\\-\\.]+)\(\\.)([a-zA-Z]{2,4})$'); 
    //var hidemailform = false;

    function sendMailRequest(vars) { 
        uri = 'email_submit.php';
        req.open('POST', uri, true);
        //req.setRequestHeader("Method","POST " + uri + " HTTP/1.1");
        req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        req.onreadystatechange = handleMailResponse; 
        req.send(vars);
        delete req;
    } 


    function handleMailResponse() { 
        if(req.readyState == 4) { 
            if(req.status== 200) {
                var response = req.responseText; 
                //alert(response);
                hide_mailform();
            }
        }  //else alert("loading" + req.readyState); 
    }


    function hide_mailform(swi) {
        objsty             = getlayer('mail_formular',1);
        objsty.visibility  = 'hidden';
        objsty.display     = 'none'; 
        objsty             = getlayer('mail_danke',1);
        objsty.visibility  = 'hidden';
        objsty.display     = 'none'; 
        
        if(!swi) {
            objsty            = getlayer('mail_danke',1);
            objsty.visibility = 'visible';
            objsty.display    = 'block'; 
        }

        return(true);
    } // ENDE hide_mailform

    function check_show_mailform(hidemailform) {
        // soll einen javascript fehler unterdruecken welcher durch eine undefinierte
        // variable entstehen kann
        if(hidemailform== 2) return true;
        else return false;
    } // ENDE check_mailform

    
    function show_mailform() {
        objsty            = getlayer('mail_danke',1);
        objsty.visibility = 'hidden';
        objsty.display    = 'none'; 

        objsty             = getlayer('mail_formular',1);
        objsty.visibility  = 'visible';
        objsty.display     = 'block'; 

    } // ENDE show_mailform




    function check_mailform() {
        msg        = '';
        obj        = document.forms['mail_formular'];
        mailLength = obj.length;
        for(i=0; i< mailLength; i++)
        {
            if(alerts[obj[i].name])
            {
                if((obj[i].name == 'email') && (!rMail.test(obj[i].value)))
                {
                    msg+= "\n* " + alerts[obj[i].name];
                    obj[i].className = 'red';
                }
                else if ((obj[i].value.length<3) && obj[i].type!='checkbox')
                {
                    msg+= "\n* " + alerts[obj[i].name];
                    obj[i].className = 'red';
                }
                
            }
            else 
                obj[i].className = 'white';
            if(obj[i].name=='acceptAgb' && !obj[i].checked)
                msg+= "\n* " + alerts[obj[i].name];
            
        }

        if(msg!='')
        {
            alert(msg);
            return false;
        }
        flength = obj.elements.length;
        string = '';
        for(i=0; i<mailLength; i++) {

            if(escape(obj.elements[i].value!=''))
            {
                if(string!= '') string += '&';
                if((obj.elements[i].type == 'radio') && (obj.elements[i].checked == true))
                {
                    string+= obj.elements[i].name + '=' + escape(obj.elements[i].value);
                }
                else if((obj.elements[i].type != 'radio')){
                    string+= obj.elements[i].name + '=' + escape(obj.elements[i].value);
                }
            }
        }
        sendMailRequest(string);

        return(false);

    } // ENDE check_mailform


        // Kontaktformular im Contentbereich anzeigen
    var mailformHTML= '';
    var contentHTML = '';
    var hidemailform_menu='';

    function generate_hidemailform_menu(text,objf) {
        
        var but = document.createElement('input');
        but.setAttribute('type', 'button');
        but.setAttribute('name', 'hidemailform');
        but.setAttribute('value', text);
        but.setAttribute('onclick', 'javascript:hide_mailform_in_container();');
        but.setAttribute('class', 'hidemailform');
        objf.appendChild(but);
        var bre = document.createElement('br');
        bre.setAttribute('clear', 'all');
        objf.appendChild(bre);

    } // ENDE generate_hidemailform_menu;

    function show_mailform_in_container(container, hidetext, adress, headline)   {
        
        var  adress;
        window.scrollTo(0,170);
        // die flaeche Entdecken, in der das Formular angezeigt werden soll.
        if(objc = getlayer(container,2)) {
        } else if(objc = getlayer('container',2)) {
            if(container=='adresse') 
                add_border('container', 'black');
            else
                add_border('container');
        } else {
            return false;
        }
            // mailformular herausholen und einbinden von der rechten seite
        if(mailformHTML!= '') {
            objfi = mailformHTML;
            if(adress!='') {
                var reg = /<\/form>/i;
                objfi = objfi.replace(reg, '<input type="hidden" value="' + adress + '" name="mail_to"></form>');
            }
        } else {
            show_mailform();
            objf = getlayer('mail_formular',2);
                // einfuegen eines Menues zum Rueckholen der getauschten Inhalte
            generate_hidemailform_menu(hidetext,objf);
                // dem empfaenger eintragen
            if(adress!= '') {
                objf.elements['mail_to'].value = adress;
            }
            objf = getlayer('divMailFormular',2);
            objfi = objf.innerHTML;
        }
        if(contentHTML== '') { // sichern der Orginaldaten
            contentHTML    = objc.innerHTML;
        }
            // befuellen mit dem Formular
        objc.innerHTML = objfi;

        objf.innerHTML = '';
            // sichern des Mail-Formulars
        mailformHTML   = objfi;

        // einfuegen eines Inhalts in die Headline 
        if(headline!= '') {
            var headl = getlayer('name_space',2);
                headl.innerHTML = headline;
        }
            

    } // ENDE show_mailform_in_container


    function hide_mailform_in_container() {
        if(objc = getlayer(container,2)) {
        } else if(objc = getlayer('container',2)) {
            add_border('container');
        } else return false;
         
        objc.innerHTML = contentHTML;
        return(true);

    } // ENDE hide_mailform_in_container


    var border;
    function add_border(objid, bswitch)
    {
            
        if(bswitch!= '')
            border= bswitch;
        if(border != '')
        {
            objstyle = getlayer(objid,1)
            if(objstyle.border=='')
                objstyle.border = '1px solid ' + border;
            else
                if(!getlayer('topbanner'))
                    objstyle.border = '';
        }
    } // ENDE add_border



