Class.create('Bubble', {
    classMembers: {
        activate: function() {
            Utilities.get('bubble').style.display = 'block';
        
            Behavior.attachEvent(Utilities.get('close-bubble'), 'click', function(e) {
                Bubble.close();
            });
        
            Behavior.attachEvent(window, 'load', function(e) {
                window.setTimeout('Bubble.close()', 10000);
            });
        },
        
        close: function() {
            if (Utilities.get('bubble')) {
	            Utilities.get('bubble').style.display = 'none';
	        }
        }
    }
});

Class.create('Toggle', {
    classMembers: {
        activate: function(id) {
            var li = Utilities.get(id);
            var div = Utilities.getElementsByClassName(li, 'summary', 'div')[0];
            var box = Utilities.getElementsByClassName(li, 'box', 'div')[0];
            
            var span = document.createElement('span');
            span.title = 'Mostra i dettagli relativi a questo ordine';
            span.innerHTML = 'Mostra dettagli...';
            
            div.appendChild(document.createTextNode('. '));
            div.appendChild(span);
            
            box.style.display = 'none';
            
            Behavior.attachEvent(span, 'click', function(e) {
                if (box.style.display == 'none') {
                    box.style.display = 'block';
                    this.innerHTML = 'Nascondi dettagli...';
                }
                else {
                    box.style.display = 'none';
                    this.innerHTML = 'Mostra dettagli...';
                }
            });
        }
    }
});

Class.create('Search', {
    classMembers: {
        activate: function(textbox) {
            textbox = Utilities.get(textbox);
        
            Behavior.attachEvent(window, 'load', function(e) {
                textbox.value = 'Inserisci qui le parole chiave...';
                
                Behavior.attachEvent(textbox, 'click', function(e) {
                    if (textbox.value == 'Inserisci qui le parole chiave...') {
                        textbox.value = '';
                    }
                });
            
                Behavior.attachEvent(textbox, 'blur', function(e) {
                    if (textbox.value == '') {
                        textbox.value = 'Inserisci qui le parole chiave...';
                    }
                });
            });
        }
    }
});

Class.create('Cart', {
    classMembers: {
        updateQuantity: function(textbox, message) {
            Behavior.attachEvent(window, 'load', function(e) {
                Behavior.attachEvent(textbox, 'change', function(e) {
                    var container = Utilities.get(message);
                    
                    if (container) {
                        container.style.display = 'block';
                    }
                });
            });
        }
    }
});