if(window['console'] === undefined) window.console = {
    log: function(){}
};

var Custom = Class.create({
    initialize: function() {

        window.custom = this;

        Cufon.replace([
            '.navigation a',
            '.content h1',
            '.content h2',
            '.content h3'
            ], {
                hover: true
            });

        this.oldvals = {};
        this.pages = ['hypotheek', 'lening', 'verzekering', 'zorg-en-inkomen', 'financieel-beheer'];

        $$('.mail').each(function(el){
            el.writeAttribute('href', el.readAttribute('href').replace('.nospam.', '@'));
            el.update(el.innerHTML.replace('.nospam.', '@'));
        })

        $$('input', 'textarea').each(this.elementFocus.bind(this));

        if ($('wizard-form')) new Wizard();

        this.currentPage = this.getCurrentPage();
        
        if ($('header-container')) this.buildHeader();

        // SPAM PROTECTION
        if ($('contact-form')) $('contact-form').setAttribute('action', window.document.URL);
        if ($('form-call')) $('form-call').observe('submit', function(e){e.stop();});

        //$$('.fancybox-link').each(this.fancyBoxCreator.bind(this));
        //$$('.iframe-link').each(this.iframeOpener.bind(this));
        $$('a[rel="frame_box"]').each(this.iframeOpener.bind(this));

        if ($('Informatie-anders')) this.watchFormElse();

        SWFAddress.addEventListener(SWFAddressEvent.CHANGE, this.swfAddressChange.bind(this));
    },
    watchFormElse: function() {
        $('Informatie-anders').observe('click', function(){
            $('Info_over_anders_namelijk').toggle();
        });
    },
    swfAddressChange: function(e) {
        
    },
    fancyBoxCreator: function(el) {
        new FancyZoom(el.readAttribute('id'));
    },
    iframeOpener: function(el) {
        
        if (!$('fancybox-iframe') || !el.readAttribute('href')) return false;

        new FancyZoom(el.readAttribute('id'), {});

        el.observe('click', function(e) {
            $('fancybox-iframe').writeAttribute('src', el.readAttribute('href'));
            e.stop();
        })

        return true;
    },
    flashLightbox: function(url) {
        var link = document.createElement('A');
        link.href = url;
        link.rel = "frame_box";
        link.target = "_lightbox";
        var fz = new FancyZoom(link);
        $('fancybox-iframe').writeAttribute('src', url);
        fz.show();
    },
    flashDebug: function(msg) {
        console.log('FLASH DEBUG: ' + msg);
    },
    buildHeader: function() {

        var vars = ({
            domain: '*'
        });

        if (this.currentPage) vars.CurrentItem = this.currentPage;
        if (typeof(HeaderNavigation) != 'undefined') vars.NavigationItems = HeaderNavigation;

        swfobject.embedSWF(
            '/templates/media/header.swf?1277113152', 'header-container', '100%', '100%', '9.0.45', '/templates/media/expressinstall.swf', vars, {
                allowscriptaccess: 'always',
                bgcolor: '#CDC9BE',
                menu: 'false',
                wmode: 'transparent'
            }, {
                id: 'header-container'
            }
        );
    },
    getCurrentPage: function() {
        var path = (window.location.pathname.match(/([a-zA-Z0-9\-]+)/)) ? window.location.pathname.match(/([a-zA-Z0-9\-]+)/)[0] : 'home';
        
        for (var i = 0; i < this.pages.length; i++) {
            if (path.match(this.pages[i])) {
                return this.pages[i];
            }
        }

        return false;
    },
    elementFocus: function(el) {
        if (el.type == 'text' || el.tagName.toLowerCase() == 'textarea') {

            this.oldvals[el.id] = (el.tagName.toLowerCase() == 'input') ? el.value : el.innerHTML;

            el.observe('focus', function(e) {
                el = e.target;
                if (el.tagName.toLowerCase() == 'input' && el.value == this.oldvals[el.id]) {
                    el.value = '';
                } else if (el.tagName.toLowerCase() == 'textarea' && el.innerHTML == this.oldvals[el.id]) {
                    el.innerHTML = '';
                }
            }.bind(this));

            el.observe('blur', function(e){
                el = e.target;
                if (el.tagName.toLowerCase() == 'input' && el.value == '') {
                    el.value = this.oldvals[el.id];
                } else if (el.tagName.toLowerCase() == 'textarea' && el.innerHTML == '') {
                    console.log(el);
                    el.innerHTML = this.oldvals[el.id];
                }
            }.bind(this));
        }
    }
});

var Wizard = Class.create({
    initialize: function() {
        window.wizard = this;
        if ($('wizard-form')) {
            $('wizard-form').observe('submit', this.submit.bind(this));
        }
    },
    submit: function(ev) {
        ev.stop();
        xajax_xajaxHandler('WizardPlugin', 'nextStep', xajax.getFormValues('wizard-form'));
        //$('wizard-form').fade();
    },
    updateForm: function(options) {
        $('wizard-form').appear();

        if (options.progress) $('progress').setStyle('width: ' + options.progress + '%')
    }
});

document.observe('dom:loaded', function(){
    new Custom();
});

function CMN_USER_INIT(inst) {
    //inst.set_imageInfo('gfx/banners/info.png');
    //inst.set_imageInfoBlinking('gfx/banners/info.gif');

    inst.set_msgValNoServiceNumber('<span class="CMN_error_text">Geen servicenummers</span>');
    inst.set_msgValNoNumber('<span class="CMN_error_text">Geen nummer ingevuld</span>');
    inst.set_msgValInvalidNumber('<span id="my_id" class="CMN_error_text">Ongeldig nummer</span>');
    inst.set_msgError('<span id="my_id" class="CMN_error_text">Geen verbinding</span>');

    inst.set_msgInfoYourNumber('Vul hier uw eigen telefoonnummer in en druk op de "BEL ME NU" knop, u wordt dan direct door ons gebeld!');

    if (inst.isInService()) {
        //$("VDZOPEN").style.display = "";
        //$("VDZGESLOTEN").style.display = "none";
        //$("VDZOpenLink").style.display = "";
        //$("VDZGeslotenLink").style.display = "none";
    } else {
        //$("VDZOPEN").style.display = "none";
        //$("VDZGESLOTEN").style.display = "";
        //$("VDZOpenLink").style.display = "none";
        //$("VDZGeslotenLink").style.display = "";
    }
}