function reset_menu()
{
    $('alg_wrap').style.display = "none";
    $('prijs_wrap').style.display = "none";
}

window.addEvent('domready', init);

var toggle_popup = null;

function closeActieWindow()
{
    $('popup_content').style.display = "none";
    $('black_overlay').style.display = "none";
    toggle_popup = null;
}

function formError(field, error)
{
    var form = field.getParent('form');
    $(form.getAttribute('id') + "-error").set('html', error);
    field.addClass('error');
    field.focus();
}

function resetFields(form)
{
    $(form.getAttribute('id') + "-error").empty();
    var inputs = $$("#" + form.getAttribute('id') + " .error");

    for (i = 0; i < inputs.length; i++) {
        inputs[i].removeClass('error');
    }
}

function validateEmail(email)
{
    return /\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(email);
}

function init()
{
    var nav_voorwaarden = $('nav-voorwaarden');
    if (nav_voorwaarden) {
        nav_voorwaarden.onclick = function() {
            $('wrap').style.display = "none";
            $('menu_wrap').style.display = "block";
            reset_menu();
            $('alg_wrap').style.display = "block";
        };
    }
    
    var nav_prijzen = $('nav-prijzen');
    if (nav_prijzen) {
        nav_prijzen.onclick = function() {
            $('wrap').style.display = "none";
            $('menu_wrap').style.display = "block";
            reset_menu();
            $('prijs_wrap').style.display = "block";
        };
    }

    var btn_close = $('btn-close');
    if (btn_close) {
        btn_close.onclick = closeActieWindow;
    }

    // wanneer window al actief
    $$('.btn-checkcode').each(function(el) {
        el.onclick = function() {
            $('wrap').style.display = "block";
            $('menu_wrap').style.display = "none";
        }
    });

    // wanneer window eerst geinitialiseerd moet worden
    $$('.btn-insertcode').each(function(el) {
        el.onclick = function() {
            if(!toggle_popup){		
        		$('popup_content').style.display = "block";
        		$('black_overlay').style.display = "block";
                toggle_popup = true;
            }
        }
    });
	
    var black_overlay = $('black_overlay');
    if (black_overlay) {
        black_overlay.onclick = closeActieWindow;
    }
    
    var defaultValues=new Array();
    defaultValues[0]="Voer hier je voornaam in";
    defaultValues[1]="Voer hier je achternaam in";
    defaultValues[2]="Voer hier je e-mailadres in";
    defaultValues[3]="Voer de satéprikkercode in";
    defaultValues[4]="Voer de beveiligingscode in";
    
    /* reset */
    $$('form .text').each(function(el){
        for(i=0;i<defaultValues.length;i++){
            if(defaultValues[i] == el.value){
                //el.setStyle('color', 'grey');
				//el.style.color = 'grey';
            } 
        }
    });
	
    $$('form .text').each(function(el) {
        el.onfocus = function(){
            if (this.value == this.defaultValue) {
                this.value = '';
                this.style.color = "black";
            }
        }
    });

    $$('.toggle-sendafriend').each(function(el) {
        el.onclick = function() {
            $('wrap-step1').style.display = 'none';
            $('wrap-step2').style.display = 'none';
            $('wrap-geenprijs').style.display = 'none';
            $('wrap-postnaw').style.display = 'none';
            $('wrap-sms').style.display = 'none';
            $('wrap-step3').style.display = 'block';
            return false;
        }
    });
    
    $$('.toggle-checkcode').each(function(el) {
        el.onclick = function() {
            $('wrap-step2').style.display = 'none';
            $('wrap-step3').style.display = 'none';
            $('wrap-geenprijs').style.display = 'none';
            $('wrap-postnaw').style.display = 'none';
            $('wrap-sms').style.display = 'none';
            $('wrap-step1').style.display = 'block';
            return false;
        }
    });
    
    var toggle_claimprijs = $('toggle-claimprijs');
    if (toggle_claimprijs) {
        toggle_claimprijs.onclick = function() {
            $('wrap-gewonnen').style.display = 'none';
            $('wrap-step2').style.display = 'block';
            return false;
        }
    }

    var form1 = $('step1');
    if (form1) {
        form1.onsubmit = function() {
        
            resetFields(this);
        
            if (this.elements['voornaam'].value == '') {
                formError(this.elements['voornaam'], "U heeft geen voornaam ingevoerd.");
                return false;
            }
            
            if (this.elements['achternaam'].value == '') {
                formError(this.elements['achternaam'], "U heeft geen achternaam ingevoerd.");
                return false;
            }
            
            if (this.elements['email'].value == '') {
                formError(this.elements['email'], "U heeft geen e-mailadres ingevoerd.");
                return false;
            }
            else if (!validateEmail(this.elements['email'].value)) {
                formError(this.elements['email'], "U heeft een ongeldig e-mailadres ingevoerd.");
                return false;
            }
            
            if (this.elements['code'].value == '') {
                formError(this.elements['code'], "U heeft geen code ingevoerd.");
                return false;
            }
            
            if (this.elements['code'].value == '1df56') {
                formError(this.elements['code'], "Dit is de flyercode. Deze actie werkt alleen bij de codes die staan op <br>de echte sateprikkers van keurslagerij Goossens & catering.");
                return false;
            }
            
            if (this.elements['code'].value == '1DF56') {
                formError(this.elements['code'], "Dit is de flyercode. Deze actie werkt alleen bij de codes die staan op <br>de echte sateprikkers van keurslagerij Goossens & catering.");
                return false;
            }
            
            if (this.elements['code'].value.length != 5) {
                formError(this.elements['code'], "U heeft een ongeldige code ingevoerd.");
                return false;
            }
            
            if (this.elements['captcha_code'].value == '') {
                formError(this.elements['captcha_code'], "U heeft geen controle code ingevoerd.");
                return false;
            }
            
            if (!this.elements['voorwaarden'].checked) {
                formError(this.elements['voorwaarden'], "U dient akkoord te gaan met de algemene voorwaarden");
                return false;
            }
            
            if (!this.elements['nieuwsbrief'].checked) {
                this.elements['nieuwsbrief'].value = 0;
            }
            
            // ingevoerde waardes in cookie opslaan
            Cookie.write('voornaam', this.elements['voornaam'].value);
            Cookie.write('achternaam', this.elements['achternaam'].value);
            Cookie.write('email', this.elements['email'].value);
            Cookie.write('nieuwsbrief', this.elements['nieuwsbrief'].value);
            
            var query_string = this.toQueryString();
            var myRequest = new Request({method: 'post', url: this.getAttribute('action'),
                onSuccess: function(responseText, responseXML) {
                
                    var json = JSON.decode(responseText);
                    
                    if (json.RESPONSE.CODE) {
                    
                        var response_code = parseInt(json.RESPONSE.CODE);
                        
                        if (json.RESPONSE.RESETCAPTCHA) {
                            var odate = new Date;
                            var ts = odate.valueOf();
                            $('img-captcha').src = "/goudenprikker/inc/c1.php?captcha_id=1&status=1&ts" + ts;
                        }
                    
                        switch (response_code) {
                            case 1:
                            case 2:
                                formError($('step1').elements['code'], "U heeft een ongeldige code ingevoerd.");
                            break;
                            case 3:
                                formError($('step1').elements['code'], "Deze code is reeds gebruikt.");
                            break;
                            // helaas geen prijs gewonnen
                            case 4:
                                $('wrap-step1').style.display = 'none';
                                $('wrap-geenprijs').style.display = 'block';
                                $('step1').elements['code'].value = '';
                                $('step1').elements['captcha_code'].value = '';
                            break;
                            // prijswinnaar
                            case 5:
                                $('hash').value = json.RESPONSE.HASH;
                                $('step2_email').value = $('step1').elements['email'].value;
                                $('step2_voornaam').value = $('step1').elements['voornaam'].value;
                                $('step2_achternaam').value = $('step1').elements['achternaam'].value;
                                
                                $('wrap-step1').style.display = 'none';
                                
                                $('prijs-notice').set('html', "Gefeliciteerd, u heeft "+ json.RESPONSE.PRIJS +" gewonnen!");
                                $('wrap-gewonnen').style.display = 'block';
                            break;
                            case 6:
                                
                                $('wrap-step1').style.display = 'none';
                                $('wrap-sms').style.display = 'block';
                                $('step1').elements['code'].value = '';
                                $('step1').elements['captcha_code'].value = '';

                            break;
                            case 99:
                                formError($('step1').elements['captcha_code'], "De controle code komt niet overeen.");
                            break;
                            default:
                                alert("Er ging iets fout bij versturen, probeer het later nog eens.");
                            break;
                        }
                    }
                    else {
                        alert("Er ging iets fout bij versturen, probeer het later nog eens.");
                    }
                
                }
            });
            myRequest.send(query_string);
    
            return false;
        }
    }

    var form2 = $('step2');
    if (form2) {
        form2.onsubmit = function() {
        
            resetFields(this);
        
            if (this.elements['voornaam'].value == '') {
                formError(this.elements['voornaam'], "U heeft geen voornaam ingevoerd.");
                return false;
            }
            
            if (this.elements['achternaam'].value == '') {
                formError(this.elements['achternaam'], "U heeft geen achternaam ingevoerd.");
                return false;
            }
            
            if (this.elements['adres'].value == '') {
                formError(this.elements['adres'], "U heeft geen adres ingevoerd.");
                return false;
            }
            
            if (this.elements['postcode'].value == '') {
                formError(this.elements['postcode'], "U heeft geen postcode ingevoerd.");
                return false;
            }
            
            if (this.elements['woonplaats'].value == '') {
                formError(this.elements['woonplaats'], "U heeft geen woonplaats ingevoerd.");
                return false;
            }
            
            if (this.elements['email'].value == '') {
                formError(this.elements['email'], "U heeft geen e-mailadres ingevoerd.");
                return false;
            }
            else if (!validateEmail(this.elements['email'].value)) {
                formError(this.elements['email'], "U heeft een ongeldig e-mailadres ingevoerd.");
                return false;
            }
            
            var query_string = this.toQueryString();
            var myRequest = new Request({method: 'post', url: this.getAttribute('action'),
                onSuccess: function(responseText, responseXML) {
                
                var json = JSON.decode(responseText);
                
                if (json.RESPONSE.CODE) {
                
                    var response_code = parseInt(json.RESPONSE.CODE);
                    
                    if (response_code == 1) {
                        $('wrap-step2').style.display = 'none';
                        $('wrap-postnaw').style.display = 'block';
                    }
                    else {
                        $('wrap-step2').style.display = 'none';
                        $('wrap-postnaw-error').style.display = 'block';
                    }
                }
                
            }
            });
            myRequest.send(query_string);
            
            return false;
        }
    }
    
    var form3 = $('step3');
    if (form3) {
        form3.onsubmit = function() {
        
            resetFields(this);
        
            // afzender validatie
            if (this.elements['verzender_naam'].value == '') {
                formError(this.elements['verzender_naam'], "U heeft geen naam ingevoerd.");
                return false;
            }
            
            if (this.elements['verzender_email'].value == '') {
                formError(this.elements['verzender_email'], "U heeft geen e-mailadres ingevoerd.");
                return false;
            }
            else if (!validateEmail(this.elements['verzender_email'].value)) {
                formError(this.elements['verzender_email'], "U heeft een ongeldig e-mailadres ingevoerd.");
                return false;
            }
            
            // vriend1 validatie
            if (this.elements['vriend1_naam'].value == '') {
                formError(this.elements['vriend1_naam'], "U heeft geen naam ingevoerd.");
                return false;
            }
            
            if (this.elements['vriend1_email'].value == '') {
                formError(this.elements['vriend1_email'], "U heeft geen e-mailadres ingevoerd.");
                return false;
            }
            else if (!validateEmail(this.elements['vriend1_email'].value)) {
                formError(this.elements['vriend1_email'], "U heeft een ongeldig e-mailadres ingevoerd.");
                return false;
            }
            
            // vriend2 validatie
            if (this.elements['vriend2_naam'].value != '') {
                if (this.elements['vriend2_email'].value == '') {
                    formError(this.elements['vriend2_email'], "U heeft geen e-mailadres ingevoerd.");
                    return false;
                }
                else if (!validateEmail(this.elements['vriend2_email'].value)) {
                    formError(this.elements['vriend2_email'], "U heeft een ongeldig e-mailadres ingevoerd.");
                    return false;
                }
            }
            else {
                if (validateEmail(this.elements['vriend2_email'].value)) {
                    formError(this.elements['vriend2_naam'], "U heeft geen naam ingevoerd.");
                    return false;
                }
            }
            
            // vriend3 validatie
            if (this.elements['vriend3_naam'].value != '') {
                if (this.elements['vriend3_email'].value == '') {
                    formError(this.elements['vriend3_email'], "U heeft geen e-mailadres ingevoerd.");
                    return false;
                }
                else if (!validateEmail(this.elements['vriend3_email'].value)) {
                    formError(this.elements['vriend3_email'], "U heeft een ongeldig e-mailadres ingevoerd.");
                    return false;
                }
            }
            else {
                if (validateEmail(this.elements['vriend3_email'].value)) {
                    formError(this.elements['vriend3_naam'], "U heeft geen naam ingevoerd.");
                    return false;
                }
            }
            
            var query_string = this.toQueryString();
            var myRequest = new Request({method: 'post', url: this.getAttribute('action'),
                onSuccess: function(responseText, responseXML) {
                
                var json = JSON.decode(responseText);
                
                if (json.RESPONSE.CODE) {
                
                    var response_code = parseInt(json.RESPONSE.CODE);
                    
                    if (json.RESPONSE.CODE && json.RESPONSE.CODE == 1) {
                        $('wrap-step3').style.display = 'none';
                        $('wrap-postsaf').style.display = 'block';
                    }
                    else {
                        $('wrap-step3').style.display = 'none';
                        $('wrap-postsaf-error').style.display = 'block';
                    }
                }
                
            }
            });
            myRequest.send(query_string);
            
            return false;
        }
    }
}
