// Event Listener
Event.observe(window, 'load', function(){
    
    // listener for jobaccordion
    $$('.job-content-closed').each( function(e){
        var element = $(e);
        var trigger = element.previous();
        Event.observe(trigger,'click', function(e) {
            showJobs(element);
        });
    });
    
    // check if jobID is set in the url
    if(window.location.href.indexOf("/jobs/?id=") > -1) {        
        var theURL = window.location.href;
        var jobId = theURL.substr(theURL.length-1,1);
        showJobs($('job-content-id-'+jobId));
    }
    
    // listener to open lightbox
    if($('button-callback')) {
        $('button-callback').observe('click', function() {
            openLightbox('callback');
        });
    }
    if($('button-support')) {
        $('button-support').observe('click', function() {
            openLightbox('support');
        });
    }
    $$('.openLightbox').each( function(e){
        Event.observe(e, 'click', function() {
            var element = $(e);
            var title = element.getAttribute('title');
            var url = element.getAttribute('href');
            openLightboxProjects(title, url);
        });
    });    
    
} );

// jobaccordion
function showJobs(element) {
    if(element.hasClassName('job-content-closed')) {
        
        $$('.job-content-open').each( function(e){
            Effect.BlindUp(e, { duration: 0.2 });
            e.removeClassName('job-content-open');
            e.addClassName('job-content-closed');
            e.previous().removeClassName('open');
        });
        
        setTimeout(
                function() {
                    Effect.BlindDown(element, { duration: 0.5 });
                    element.removeClassName('job-content-closed');
                    element.addClassName('job-content-open');
                    element.previous().addClassName('open');
                },
                300
        );
    }
    
    if(element.hasClassName('job-content-open')) {
        Effect.BlindUp(element, { duration: 0.2 });
        element.removeClassName('job-content-open');
        element.addClassName('job-content-closed');
        element.previous().removeClassName('open');
    }
}

//open Lightbox
function openLightbox(area) {
    
    var url = '';
    var content = '';
    
    if(area == 'callback') {
        var url = '/index/callback';
    }
    if(area == 'support') {
        var url = '/index/support';
    }
    
    new Ajax.Request(
        url,
        {
            method:'get',
            requestHeaders: {
                Accept: 'text/plain'
            },
            onSuccess: function(transport){
                
                var lightbox = document.createElement('div');
                lightbox.setAttribute("id", "lightbox");
                lightbox.setAttribute("class", "small");

                // create contents of the dialog box
                var lightboxContents = "";
                lightboxContents += "<div id='lightbox-wrapper' class='small'>";  
                lightboxContents += "    <div id='lightbox-content' class='small'>No Data!</div>";
                lightboxContents += "    <div id='lightbox-footer'>";
                lightboxContents += "        <div id='lightbox-footer-title'>&nbsp;</div>";
                lightboxContents += "        <div id='lightbox-footer-close'>&nbsp;</div>";
                lightboxContents += "    </div>";
                lightboxContents += "</div>";

                lightbox.innerHTML = lightboxContents;
                document.body.appendChild(lightbox);
                
                // listener to close lightbox
                $('lightbox-footer-close').observe('click', function() {
                    closeLightbox();
                });
                
                $('lightbox-content').innerHTML=transport.responseText;
            },
            
            onFailure: function(transport){
                alert('ajax error!');
            }
        }
    );
    
}

//open Lightbox for projects
function openLightboxProjects(title, url) {
    
    var lightbox = document.createElement('div');
    lightbox.setAttribute("id", "lightbox");

    // create contents of the dialog box
    var lightboxContents = "";
    lightboxContents += "<div id='lightbox-wrapper'>";  
    lightboxContents += "    <div id='lightbox-content'><iframe frameborder='0' style='width: 998px; height: 640px;' src='"+url+"' scrolling='no'> </iframe></div>";
    lightboxContents += "    <div id='lightbox-footer'>";
    lightboxContents += "        <div id='lightbox-footer-title'>"+title+"</div>";
    lightboxContents += "        <div id='lightbox-footer-close'>&nbsp;</div>";
    lightboxContents += "    </div>";
    lightboxContents += "</div>";

    lightbox.innerHTML = lightboxContents;
    document.body.appendChild(lightbox);
    
    // listener to close lightbox
    $('lightbox-footer-close').observe('click', function() {
        closeLightbox();
    });
}

// close Lighbox
function closeLightbox() {
    if ($('lightbox')) $('lightbox').remove();
}

// validate form
function validateCallbackForm() {
    
    if(
        $('callback-telefon').value != "" && 
        $('callback-vorname').value != "" && 
        $('callback-name').value != "" && 
        $('callback-email').value != "" && 
        $('callback-nachricht').value != ""
    ) {
        
        var sendURL = $('feedback-form').getAttribute('action');
        var callback_email = $('callback-email').value;
        var callback_telefon = $('callback-telefon').value;
        var callback_vorname = $('callback-vorname').value;
        var callback_name = $('callback-name').value;
        var callback_nachricht = $('callback-nachricht').value;

        var url = sendURL + '?email=' + callback_email + '&telefon=' + callback_telefon + '&vorname=' + callback_vorname + '&name=' + callback_name + '&nachricht=' + callback_nachricht;
        var preloader = '<div id="preloader"><img src="/images/ajax_wait.gif" alt="" /></div>';
        
        new Ajax.Request(
            url,
            {
                method:'get',
                requestHeaders: {
                    Accept: 'text/plain'
                },
                
                onLoading: function(transport) {
                    
                    $('callback-button-submit').disabled = "true";
                    $('callback-button-submit').addClassName('disabled');
                    $('buttons').insert(preloader, { top: content });
                },
                
                onSuccess: function(transport){
                    if(transport.responseText == 'TRUE') {
                        $('lightbox-content').innerHTML= '<div class="callback"><h1>Erfolgreich versendet!</h1></div>';
                        setTimeout("closeLightbox()", 2000);
                    }
                    if(transport.responseText == 'FALSE') {
                        
                        $('callback-email').addClassName('warning');
                        $('callback-email').next('span').setStyle('display:inline');
                        $('callback-button-submit').removeAttribute('disabled');
                        $('callback-button-submit').removeClassName('disabled');
                        $('preloader').remove();                        
                    }
                },
                
                onFailure: function(transport){
                    alert('ajax error!');
                }
            }
        );
    }
    
    
    if($('callback-telefon').value == "") {
        $('callback-telefon').addClassName('warning');
        $('callback-telefon').next('span').setStyle('display:inline');
    }
    else {
        $('callback-telefon').removeClassName('warning');
        $('callback-telefon').next('span').setStyle('display:none');
    }
    if($('callback-vorname').value == "") {
        $('callback-vorname').addClassName('warning');
        $('callback-vorname').next('span').setStyle('display:inline');
    }
    else {
        $('callback-vorname').removeClassName('warning');
        $('callback-vorname').next('span').setStyle('display:none');
    }
    if($('callback-name').value == "") {
        $('callback-name').addClassName('warning');
        $('callback-name').next('span').setStyle('display:inline');
    }
    else {
        $('callback-name').removeClassName('warning');
        $('callback-name').next('span').setStyle('display:none');
    }
    if($('callback-email').value == "") {
        $('callback-email').addClassName('warning');
        $('callback-email').next('span').setStyle('display:inline');
    }
    else {
        $('callback-email').removeClassName('warning');
        $('callback-email').next('span').setStyle('display:none');
    }
    if($('callback-nachricht').value == "") {
        $('callback-nachricht').addClassName('warning');
        $('callback-nachricht').next('span').setStyle('display:inline');
    }
    else {
        $('callback-nachricht').removeClassName('warning');
        $('callback-nachricht').next('span').setStyle('display:none');
    }
    
}
