// client helpers
function loginClient() {
    var form = document.forms['client_form'];
    var email = form['email'].value;
    var password = form['password'].value;

    new Ajax.Request('app/client.php', {
        method: 'post',
        parameters: {
            email: email,
            password: password,
            method: 'login'
        },
        onComplete: function(transport) {
            if(transport.status == 200)
                document.location.href = transport.responseText;
        },
        onFailure: function(){
            alert('Une erreure est survenue, merci de reesayer')
        }
    });
}

function logoutClient() {
    new Ajax.Request('app/client.php', {
        method: 'post',
        parameters: {
            method: 'logout'
        },
        onComplete: function(transport) {
            if(transport.status == 200)
                document.location.href = transport.responseText;
        },
        onFailure: function(){
            alert('Une erreure est survenue, merci de reesayer')
        }
    });
}

function recoverClient() {
    var form = document.forms['client_form'];
    var email = form['email'].value;

    var errors = '';

    if(validateEmail(email) != '') {
        errors += validateEmail(email);
        document.getElementById('emailError').innerHTML = validateEmail(email);
    } else {
        document.getElementById('emailError').innerHTML = '';
    }

    if(errors == '') {

        new Ajax.Request('app/client.php', {
            method: 'post',
            parameters: {
                email: escape(email),
                method: 'recover'
            },
            onComplete: function(transport) {
                if(transport.status == 200)
                    document.getElementById('results').innerHTML = transport.responseText;
            },
            onFailure: function(){
                alert('Une erreure est survenue, merci de reesayer')
            }
        });


    }
}

function updateClient(id) {
    var form = document.forms['client_form'];
    var nom =  form['nom'].value;
    var prenom = form['prenom'].value;
    var email =  form['email'].value;
    var mot_de_passe = form['mot_de_passe'].value;
    var telephone = form['telephone'].value;
    var adresse_livraison =   form['adresse_livraison'].value;
    var adresse_facturation = form['adresse_facturation'].value;
        var form = document.forms['client_form'];
    var nom =  form['nom'].value;
    var prenom = form['prenom'].value;
    var email =  form['email'].value;
    var mot_de_passe = form['mot_de_passe'].value;
    var telephone = form['telephone'].value;
    var adresse_livraison =   form['adresse_livraison'].value;
    var adresse_facturation = form['adresse_facturation'].value;

    var errors = '';

    if(isEmpty(nom) != '') {
        errors += isEmpty(nom);
        document.getElementById('nomError').innerHTML = isEmpty(nom);
    } else {
        document.getElementById('nomError').innerHTML = '';
    }

    if(isEmpty(prenom) != '') {
        errors += isEmpty(prenom);
        document.getElementById('prenomError').innerHTML = isEmpty(prenom);
    } else {
        document.getElementById('prenomError').innerHTML = '';
    }

    if(validateEmail(email) != '') {
        errors += validateEmail(email);
        document.getElementById('emailError').innerHTML = validateEmail(email);
    } else {
        document.getElementById('emailError').innerHTML = '';
    }

    if(isEmpty(adresse_livraison) != '') {
        errors += isEmpty(adresse_livraison);
        document.getElementById('adresseLivraisonError').innerHTML = isEmpty(adresse_livraison);
    } else {
        document.getElementById('adresseLivraisonError').innerHTML = '';
    }

    if(validatePhone(telephone) != '') {
        errors += validatePhone(telephone);
        document.getElementById('telephoneError').innerHTML = validatePhone(telephone);
    } else {
        document.getElementById('telephoneError').innerHTML = '';
    }


    if(errors != '')
        alert("Merci de corriger les erreurs avant de soumettre le formulaire");
    else
        new Ajax.Request('app/client.php', {
            method: 'post',
            parameters: {
                id: id,
                nom: escape(nom),
                prenom: escape(prenom),
                email: escape(email),
                mot_de_passe: escape(mot_de_passe),
                telephone: escape(telephone),
                adresse_livraison: (adresse_livraison),
                adresse_facturation: (adresse_facturation),
                method: 'update'
            },
            onComplete: function(transport) {
                if(transport.status == 200)
                    document.getElementById('results').innerHTML = transport.responseText;
            },
            onFailure: function(){
                alert('Une erreure est survenue, merci de reesayer')
            }
        });

}

function validateClientForm(callback) {

    var form = document.forms['client_form'];
    var nom =  form['nom'].value;
    var prenom = form['prenom'].value;
    var email =  form['email'].value;
    var mot_de_passe = form['mot_de_passe'].value;
    var telephone = form['telephone'].value;
    var adresse_livraison =   form['adresse_livraison'].value;
    var adresse_facturation = form['adresse_facturation'].value;

    var errors = '';

    if(isEmpty(nom) != '') {
        errors += isEmpty(nom);
        document.getElementById('nomError').innerHTML = isEmpty(nom);
    } else {
        document.getElementById('nomError').innerHTML = '';
    }

    if(isEmpty(prenom) != '') {
        errors += isEmpty(prenom);
        document.getElementById('prenomError').innerHTML = isEmpty(prenom);
    } else {
        document.getElementById('prenomError').innerHTML = '';
    }

    if(validateEmail(email) != '') {
        errors += validateEmail(email);
        document.getElementById('emailError').innerHTML = validateEmail(email);
    } else {
        document.getElementById('emailError').innerHTML = '';
    }

    if(isEmpty(mot_de_passe) != '') {
        errors += isEmpty(mot_de_passe);
        document.getElementById('motDePasseError').innerHTML = isEmpty(mot_de_passe);
    } else {
        document.getElementById('motDePasseError').innerHTML = '';
    }

    if(isEmpty(adresse_livraison) != '') {
        errors += isEmpty(adresse_livraison);
        document.getElementById('adresseLivraisonError').innerHTML = isEmpty(adresse_livraison);
    } else {
        document.getElementById('adresseLivraisonError').innerHTML = '';
    }

    if(validatePhone(telephone) != '') {
        errors += validatePhone(telephone);
        document.getElementById('telephoneError').innerHTML = validatePhone(telephone);
    } else {
        document.getElementById('telephoneError').innerHTML = '';
    }


    if(errors != '')
        alert("Merci de corriger les erreurs avant de soumettre le formulaire");
    else
       new Ajax.Request('app/client.php', {
            method: 'post',
            parameters: {
                nom: escape(nom),
                prenom: escape(prenom),
                email: escape(email),
                mot_de_passe: escape(mot_de_passe),
                telephone: escape(telephone),
                adresse_livraison: (adresse_livraison),
                adresse_facturation: (adresse_facturation),
                method: 'create'
            },
            onComplete: function(transport) {
                if(transport.status == 200)
                // alert(transport.responseText);
                form.reset();
                document.getElementById('results').innerHTML = transport.responseText;
            },
            onFailure: function(){
                alert('Une erreure est survenue, merci de reesayer')
            }
        });

}

function requestSubscription() {
    var form = document.forms['newsletter_form'];
    var email = form['email'];

    var errors = '';

    document.getElementById('newsletter_results').innerHTML = '';

    if(validateEmail(email.value) != '')
        document.getElementById('newsletter_results').innerHTML = validateEmail(email.value);
    else
        document.getElementById('newsletter_results').innerHTML = '';

    if(errors != '')
        alert('Merci de corriger les erreurs avant de soumettre votre demande.');
    else
        new Ajax.Request('app/newsletter.php', {
            method: 'post',
            parameters: {
                email: email.value,
                method: 'suscribe'
        },
        onComplete: function(transport) {
            if(transport.status == 200)
                // alert(transport.responseText);
                document.getElementById('newsletter_results').innerHTML = transport.responseText;
        },
        onFailure: function(){
            alert('Une erreure est survenue, merci de reesayer')
        }
    });
}

// cart helpers
function addToCart(name, qty, size, price) {
    new Ajax.Request('app/cart.php', {
        method: 'post',
        parameters: {
            name: name,
            qty: qty,
            size: size,
            price: price,
            method: 'add'
        },
        onComplete: function(transport) {
            if(transport.status == 200) {
                document.getElementById('cartResults').innerHTML =
                    '<a href="client_cart.php">Le produit &agrave; '  +
                    'bien &eacute;t&eacute; ajout&eacute; ' +
                    '&agrave; votre panier</a><h3>';
                // new Effect.Highlight('notice', { startcolor: '#ffff99', endcolor: '#ffffff'});
                // new Effect.Puff('notice');
                new Effect.Pulsate('cartResults');
            }
        },
        onFailure: function(){
            alert('Une erreure est survenue, merci de reesayer')
        }
    });
}

function updateCart(name, qty) {
    new Ajax.Request('app/cart.php', {
        method: 'post',
        parameters: {
            name: name,
            qty: qty,
            method: 'update'
        },
        onComplete: function(transport) {
            if(transport.status == 200) {
                document.location.reload();
                // new Effect.Pulsate('total_amount');
            }
        },
        onFailure: function(){
            alert('Une erreure est survenue, merci de reesayer')
        }
    });
}

function removeFromCart(name) {
    new Ajax.Request('app/cart.php', {
        method: 'post',
        parameters: {
            name: name,
            method: 'remove'
        },
        onComplete: function(transport) {
            if(transport.status == 200) {
                document.location.reload();
            }
        },
        onFailure: function(){
            alert('Une erreure est survenue, merci de reesayer')
        }
    });
}

// view helpers
function displayNotice(html) {
    document.getElementById('notice').innerHTML = html;
}

function showProductImage(srcName) {
    $('image_zoom').href =  "imagezoom.php?image=dropbox/" + srcName + "_800.jpg";
    $('image_source').src = "dropbox/" + srcName + '_330.jpg';
}

// admin helpers
function requestLogin() {
    var form = document.forms['login_form'];
    var email = form['email'];
    var password = form['password'];

    new Ajax.Request('session.php', {
        method: 'post',
        parameters: {
            email: email.value,
            password: password.value,
            method: 'login'
        },
        onComplete: function(transport) {
            if(transport.status == 200)
                document.location.href = transport.responseText;
        },
        onFailure: function(){
            alert('Une erreure est survenue, merci de reesayer')
        }
    });
}

function requestLogout() {
    new Ajax.Request('session.php', {
        method: 'post',
        parameters: {
            method: 'logout'
        },
        onComplete: function(transport) {
            if(transport.status == 200)
                document.location.href = transport.responseText;
        },
        onFailure: function(){
            alert('Une erreure est survenue, merci de reesayer')
        }
    });
}

function deleteObject(type, id) {
    if(confirm("Etes vous certain?")) {
        new Ajax.Request('delete.php', {
            method: 'post',
            parameters: {
                id: id,
                type: type
            },
            onComplete: function(transport) {
                if(transport.status == 200) {
                    // document.getElementById('notice').innerHTML = transport.responseText;
                    document.location.reload();
                }
            },
            onFailure: function(){
                alert('Une erreure est survenue, merci de reesayer')
            }
        });
    } else {
        return;
    }
}


function checkProduits(id) {
    var form  = document.forms['form'];
    if(form['produits[' + id + ']'] != null)
        form['produits[' + id + ']'].checked = true;
}


function checkTailles(id) {
    var form  = document.forms['form'];
    if(form['tailles[' + id + ']'] != null)
        form['tailles[' + id + ']'].checked = true;
}

