window.addEvent('domready', function() {
    
    $$('.webToCcForm').each(function(div) {
        var form = div.getElement('form');
        
        // Si il y a bien un élément de type 'form'
        if (form) {
            var eventAdded = form.retrieve('eventAdded', false);
            
            // Si l'évènement n'a pas déjà été ajouté
            if (!eventAdded) {
                var button = form.getElement('input[type=button], input[type=submit]');
                
                // Si il y a bien un boutton dans le formulaire
                if (button) {
                    var type = div.getElement('div[class~=webToCcType]').get('html');
                    
                    form.store('eventAdded', true);
                    
                    form.getElements('input[type=text], textarea').each(function(input) {
                        var value = input.get('value');
                        
                        input.store('initialValue', value);
                        
                        input.addEvent('focus', function(event) {
                            if (input.get('value') == value) {
                                input.set('value', '');
                            }
                        });
                        
                        input.addEvent('blur', function(event) {
                            if (input.get('value').trim() == '') {
                                input.set('value', value);
                            }
                        });
                    });
                    
                    
                    button.addEvent('click', function(event) {
                        event = new Event(event).stop();
                        
                        var validated = validateWebToCcForm(form);
                        if (validated) {
                            
                            // Si le type du formulaire est 'xhr'
                            if (type == 'xhr') {
                                var requestedUrl = form.get('action');
                                
                                new Request({
                                    url: requestedUrl,
                                    method: 'post',
                                    data: form.toQueryString(),
                                    async: true,
                                    onRequest: function() {
                                        webToCcDisplayLoadingBox(div);
                                    },
                                    onComplete: function () {
                                        webToCcHideLoadingBox(div.get('id'));
                                    },
                                    onSuccess: function (responseText) {
                                        infos = JSON.decode(responseText);
                                        
                                        infos.each(function(toggler) {
                                            alert(toggler);
                                        });
                                        
                                        if (infos.success) {
                                            div.getElement('div[class~=webToCcConfirmation]').setStyle('display', 'block');
                                        }
                                    }
                                }).send();
                                
                            } else {
                                /*
                                var filterUrl = /^http:\/\/([\.\-\w]\.)?(\w{3,}\.\w{2,4})$/;
                                
                                if ($('returnurl').get('value').test(filterUrl, "i")) {
                                */
                                if ($('returnurl').get('value').trim() != '' && $('returnurl').get('value').trim() != 'http://') {
                                    redirectUrl = $('returnurl').get('value');
                                } else {
                                    redirectUrl = window.location.href;
                                }
                                
                                var id = div.getElement('div[class~=webToCcId]').get('html');
                                if (redirectUrl.contains('?')) {
                                    redirectUrl += '&cft=icpt-scs-' + id;
                                } else {
                                    redirectUrl += '?cft=icpt-scs-' + id;
                                }
                                
                                $('returnurl').set('value', redirectUrl);
                                
                                form.submit();
                            }
                            
                        } else {
                            return false;
                        }
                    });
                }
            }
        }
    });
    
});
